From b4d6b431adc64df33c5b3d907bb600c4880ac06b Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Tue, 9 Jun 2020 17:25:11 +0200 Subject: [PATCH 01/25] [core] generalize context from term |-> type to term |-> 'a --- src/core/ctxt.ml | 2 +- src/core/term.ml | 4 ++-- src/core/term.mli | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/ctxt.ml b/src/core/ctxt.ml index e21d620ce..abca46037 100644 --- a/src/core/ctxt.ml +++ b/src/core/ctxt.ml @@ -7,7 +7,7 @@ open Timed (** [type_of x ctx] returns the type of [x] in the context [ctx] when it appears in it, and @raise [Not_found] otherwise. *) -let type_of : tvar -> ctxt -> term = fun x ctx -> +let type_of : tvar -> 'a actxt -> 'a = fun x ctx -> let (_,a,_) = List.find (fun (y,_,_) -> Bindlib.eq_vars x y) ctx in a (** [def_of x ctx] returns the definition of [x] in the context [ctx] if it diff --git a/src/core/term.ml b/src/core/term.ml index 332f3781e..0fa4f9f86 100644 --- a/src/core/term.ml +++ b/src/core/term.ml @@ -275,8 +275,8 @@ end list [xn:An;..;x1:A1] in reverse order (last added variable comes first). Note that it cannot be implemented by a map as the order is important. *) -type ctxt = (tvar * term * term option) list - +type 'a actxt = (tvar * 'a * term option) list +type ctxt = term actx (** Typing context with lifted terms. Used to optimise type checking and avoid lifting terms several times. Definitions are not included because these contexts are used to create meta variables types, which do not use [let] diff --git a/src/core/term.mli b/src/core/term.mli index cbf5d1dfb..4f528cb30 100644 --- a/src/core/term.mli +++ b/src/core/term.mli @@ -256,7 +256,8 @@ end definition. The typing environment [x1:A1,..,xn:An] is represented by the list [xn:An;..;x1:A1] in reverse order (last added variable comes first). *) -type ctxt = (tvar * term * term option) list +type 'a actxt = (tvar * 'a * term option) list +type ctxt = term actx (** Typing context with lifted terms. Used to optimise type checking and avoid lifting terms several times. Definitions are not included because these From 0c56e85d85aaf850c434d7dc6f42d0789e492ae1 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Tue, 9 Jun 2020 19:59:28 +0200 Subject: [PATCH 02/25] [opam] depend on Elpi --- lambdapi.opam | 1 + 1 file changed, 1 insertion(+) diff --git a/lambdapi.opam b/lambdapi.opam index 829e849c9..4557e1b92 100644 --- a/lambdapi.opam +++ b/lambdapi.opam @@ -62,6 +62,7 @@ depends: [ "cmdliner" {>= "1.1.0"} "stdlib-shims" {>= "0.1.0"} "odoc" {with-doc} + "elpi" { >= "1.16.0" & < "1.17.0" } ] build: [ ["dune" "subst"] {dev} From 32bb53130015643a309ef98a55b59800e4314e24 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Tue, 9 Jun 2020 17:24:04 +0200 Subject: [PATCH 03/25] [elpi] minimalistic integration --- dune-workspace | 0 lambdap.elpi | 1298 + lambdapi.opam | 2 +- out/Coq__Arith__Arith__base.dk | 4 + out/Coq__Arith__Between.dk | 2513 + out/Coq__Arith__Compare__dec.dk | 5066 ++ out/Coq__Arith__EqNat.dk | 2688 + out/Coq__Arith__Factorial.dk | 342 + out/Coq__Arith__Gt.dk | 1422 + out/Coq__Arith__Le.dk | 319 + out/Coq__Arith__Lt.dk | 1835 + out/Coq__Arith__Minus.dk | 796 + out/Coq__Arith__Mult.dk | 2942 + out/Coq__Arith__Peano__dec.dk | 6849 +++ out/Coq__Arith__Plus.dk | 2831 + out/Coq__Arith__Wf__nat.dk | 3746 ++ out/Coq__Bool__Bool.dk | 48232 ++++++++++++++++ out/Coq__Bool__BoolEq.dk | 1120 + out/Coq__Bool__DecBool.dk | 216 + out/Coq__Bool__IfProp.dk | 1245 + out/Coq__Classes__CMorphisms.dk | 29593 ++++++++++ out/Coq__Classes__CRelationClasses.dk | 11122 ++++ out/Coq__Classes__Equivalence.dk | 5430 ++ out/Coq__Classes__Init.dk | 30 + out/Coq__Classes__Morphisms.dk | 20641 +++++++ out/Coq__Classes__Morphisms__Prop.dk | 5654 ++ out/Coq__Classes__RelationClasses.dk | 17089 ++++++ out/Coq__Classes__SetoidTactics.dk | 98 + out/Coq__Init__Datatypes.dk | 9568 +++ out/Coq__Init__Decimal.dk | 816 + out/Coq__Init__Logic.dk | 20146 +++++++ out/Coq__Init__Logic__Type.dk | 398 + out/Coq__Init__Nat.dk | 1457 + out/Coq__Init__Notations.dk | 4 + out/Coq__Init__Peano.dk | 5988 ++ out/Coq__Init__Prelude.dk | 4 + out/Coq__Init__Specif.dk | 48062 +++++++++++++++ out/Coq__Init__Tactics.dk | 87 + out/Coq__Init__Tauto.dk | 4 + out/Coq__Init__Wf.dk | 1621 + out/Coq__Logic__Decidable.dk | 9614 +++ out/Coq__Logic__EqdepFacts.dk | 12316 ++++ out/Coq__Logic__Eqdep__dec.dk | 13414 +++++ out/Coq__Logic__ProofIrrelevanceFacts.dk | 4 + out/Coq__Numbers__NatInt__NZAdd.dk | 4 + out/Coq__Numbers__NatInt__NZAddOrder.dk | 4 + out/Coq__Numbers__NatInt__NZAxioms.dk | 4 + out/Coq__Numbers__NatInt__NZBase.dk | 4 + out/Coq__Numbers__NatInt__NZBits.dk | 4 + out/Coq__Numbers__NatInt__NZDiv.dk | 4 + out/Coq__Numbers__NatInt__NZGcd.dk | 4 + out/Coq__Numbers__NatInt__NZLog.dk | 4 + out/Coq__Numbers__NatInt__NZMul.dk | 4 + out/Coq__Numbers__NatInt__NZMulOrder.dk | 4 + out/Coq__Numbers__NatInt__NZOrder.dk | 4 + out/Coq__Numbers__NatInt__NZParity.dk | 4 + out/Coq__Numbers__NatInt__NZPow.dk | 4 + out/Coq__Numbers__NatInt__NZProperties.dk | 4 + out/Coq__Numbers__NatInt__NZSqrt.dk | 4 + out/Coq__Numbers__Natural__Abstract__NAdd.dk | 4 + ...__Numbers__Natural__Abstract__NAddOrder.dk | 4 + ...oq__Numbers__Natural__Abstract__NAxioms.dk | 4 + out/Coq__Numbers__Natural__Abstract__NBase.dk | 4 + out/Coq__Numbers__Natural__Abstract__NBits.dk | 4 + out/Coq__Numbers__Natural__Abstract__NDiv.dk | 4 + out/Coq__Numbers__Natural__Abstract__NGcd.dk | 4 + out/Coq__Numbers__Natural__Abstract__NLcm.dk | 4 + out/Coq__Numbers__Natural__Abstract__NLog.dk | 4 + ...oq__Numbers__Natural__Abstract__NMaxMin.dk | 4 + ...__Numbers__Natural__Abstract__NMulOrder.dk | 4 + ...Coq__Numbers__Natural__Abstract__NOrder.dk | 4 + ...oq__Numbers__Natural__Abstract__NParity.dk | 4 + out/Coq__Numbers__Natural__Abstract__NPow.dk | 4 + ...Numbers__Natural__Abstract__NProperties.dk | 4 + out/Coq__Numbers__Natural__Abstract__NSqrt.dk | 4 + out/Coq__Numbers__Natural__Abstract__NSub.dk | 4 + out/Coq__Numbers__NumPrelude.dk | 4 + out/Coq__Program__Basics.dk | 109 + out/Coq__Program__Tactics.dk | 22 + out/Coq__Relations__Operators__Properties.dk | 2889 + out/Coq__Relations__Relation__Definitions.dk | 804 + out/Coq__Relations__Relation__Operators.dk | 4526 ++ out/Coq__Relations__Relations.dk | 898 + out/Coq__Setoids__Setoid.dk | 513 + out/Coq__Structures__Equalities.dk | 4 + out/Coq__Structures__GenericMinMax.dk | 48 + out/Coq__Structures__Orders.dk | 4 + out/Coq__Structures__OrdersFacts.dk | 4 + out/Coq__Structures__OrdersTac.dk | 131 + out/Makefile | 4 + out/cupicef.lp | 345 + out/lambdap.elpi | 1298 + out/lambdapi.pkg | 2 + src/cli/lambdapi.ml | 1 + src/common/error.ml | 2 + src/core/ctxt.ml | 11 + src/core/dune | 2 +- src/core/elpi_lambdapi.ml | 259 + src/core/sig_state.ml | 9 +- src/core/sign.ml | 16 + src/core/term.ml | 5 +- src/core/term.mli | 7 +- src/core/unif_rule.ml | 6 +- src/export/coq.ml | 3 + src/handle/command.ml | 38 +- src/handle/dune | 2 +- src/handle/elpi_handle.ml | 269 + src/handle/query.ml | 25 +- src/handle/query.mli | 2 +- src/handle/rewrite.ml | 2 +- src/handle/tactic.ml | 2 +- src/parsing/lpLexer.ml | 6 + src/parsing/lpParser.mly | 7 + src/parsing/scope.ml | 18 +- src/parsing/scope.mli | 5 + src/parsing/syntax.ml | 3 + tcsolver.elpi | 34 + tests/OK/elpitest.elpi | 29 + tests/OK/elpitest.lp | 44 + tests/rewriting.ml | 2 +- 120 files changed, 309129 insertions(+), 39 deletions(-) create mode 100644 dune-workspace create mode 100644 lambdap.elpi create mode 100644 out/Coq__Arith__Arith__base.dk create mode 100644 out/Coq__Arith__Between.dk create mode 100644 out/Coq__Arith__Compare__dec.dk create mode 100644 out/Coq__Arith__EqNat.dk create mode 100644 out/Coq__Arith__Factorial.dk create mode 100644 out/Coq__Arith__Gt.dk create mode 100644 out/Coq__Arith__Le.dk create mode 100644 out/Coq__Arith__Lt.dk create mode 100644 out/Coq__Arith__Minus.dk create mode 100644 out/Coq__Arith__Mult.dk create mode 100644 out/Coq__Arith__Peano__dec.dk create mode 100644 out/Coq__Arith__Plus.dk create mode 100644 out/Coq__Arith__Wf__nat.dk create mode 100644 out/Coq__Bool__Bool.dk create mode 100644 out/Coq__Bool__BoolEq.dk create mode 100644 out/Coq__Bool__DecBool.dk create mode 100644 out/Coq__Bool__IfProp.dk create mode 100644 out/Coq__Classes__CMorphisms.dk create mode 100644 out/Coq__Classes__CRelationClasses.dk create mode 100644 out/Coq__Classes__Equivalence.dk create mode 100644 out/Coq__Classes__Init.dk create mode 100644 out/Coq__Classes__Morphisms.dk create mode 100644 out/Coq__Classes__Morphisms__Prop.dk create mode 100644 out/Coq__Classes__RelationClasses.dk create mode 100644 out/Coq__Classes__SetoidTactics.dk create mode 100644 out/Coq__Init__Datatypes.dk create mode 100644 out/Coq__Init__Decimal.dk create mode 100644 out/Coq__Init__Logic.dk create mode 100644 out/Coq__Init__Logic__Type.dk create mode 100644 out/Coq__Init__Nat.dk create mode 100644 out/Coq__Init__Notations.dk create mode 100644 out/Coq__Init__Peano.dk create mode 100644 out/Coq__Init__Prelude.dk create mode 100644 out/Coq__Init__Specif.dk create mode 100644 out/Coq__Init__Tactics.dk create mode 100644 out/Coq__Init__Tauto.dk create mode 100644 out/Coq__Init__Wf.dk create mode 100644 out/Coq__Logic__Decidable.dk create mode 100644 out/Coq__Logic__EqdepFacts.dk create mode 100644 out/Coq__Logic__Eqdep__dec.dk create mode 100644 out/Coq__Logic__ProofIrrelevanceFacts.dk create mode 100644 out/Coq__Numbers__NatInt__NZAdd.dk create mode 100644 out/Coq__Numbers__NatInt__NZAddOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZAxioms.dk create mode 100644 out/Coq__Numbers__NatInt__NZBase.dk create mode 100644 out/Coq__Numbers__NatInt__NZBits.dk create mode 100644 out/Coq__Numbers__NatInt__NZDiv.dk create mode 100644 out/Coq__Numbers__NatInt__NZGcd.dk create mode 100644 out/Coq__Numbers__NatInt__NZLog.dk create mode 100644 out/Coq__Numbers__NatInt__NZMul.dk create mode 100644 out/Coq__Numbers__NatInt__NZMulOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZParity.dk create mode 100644 out/Coq__Numbers__NatInt__NZPow.dk create mode 100644 out/Coq__Numbers__NatInt__NZProperties.dk create mode 100644 out/Coq__Numbers__NatInt__NZSqrt.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAdd.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAddOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAxioms.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NBase.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NBits.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NDiv.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NGcd.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NLcm.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NLog.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NMaxMin.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NMulOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NParity.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NPow.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NProperties.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NSqrt.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NSub.dk create mode 100644 out/Coq__Numbers__NumPrelude.dk create mode 100644 out/Coq__Program__Basics.dk create mode 100644 out/Coq__Program__Tactics.dk create mode 100644 out/Coq__Relations__Operators__Properties.dk create mode 100644 out/Coq__Relations__Relation__Definitions.dk create mode 100644 out/Coq__Relations__Relation__Operators.dk create mode 100644 out/Coq__Relations__Relations.dk create mode 100644 out/Coq__Setoids__Setoid.dk create mode 100644 out/Coq__Structures__Equalities.dk create mode 100644 out/Coq__Structures__GenericMinMax.dk create mode 100644 out/Coq__Structures__Orders.dk create mode 100644 out/Coq__Structures__OrdersFacts.dk create mode 100644 out/Coq__Structures__OrdersTac.dk create mode 100644 out/Makefile create mode 100644 out/cupicef.lp create mode 100644 out/lambdap.elpi create mode 100644 out/lambdapi.pkg create mode 100644 src/core/elpi_lambdapi.ml create mode 100644 src/handle/elpi_handle.ml create mode 100644 tcsolver.elpi create mode 100644 tests/OK/elpitest.elpi create mode 100644 tests/OK/elpitest.lp diff --git a/dune-workspace b/dune-workspace new file mode 100644 index 000000000..e69de29bb diff --git a/lambdap.elpi b/lambdap.elpi new file mode 100644 index 000000000..0f2e420ab --- /dev/null +++ b/lambdap.elpi @@ -0,0 +1,1298 @@ +% automatically generated + +% ---- Lambdapi datatypes ---- + +% A symbol +typeabbrev symbol (ctype "symbol"). + + + +kind term type. +type typ term. +type kin term. +type symb symbol -> term. +type appl term -> term -> term. +type abst term -> (term -> term) -> term. +type prod term -> (term -> term) -> term. + + +kind sealed-goal type. +type nabla (term -> sealed-goal) -> sealed-goal. +type seal goal -> sealed-goal. + +kind goal type. +type goal list prop -> term -> term -> goal. + +type of term -> term -> prop. + +pred msolve o:list sealed-goal. + + + +% ---- Builtin predicates ---- + +% [lp.sig S T] Gives the type of a symbol +external pred lp.sig i:symbol, o:term. + +% [lp.tc-instances L] Gives the list of type class instances +external pred lp.tc-instances o:list symbol. + +% [lp.tc? S] Tells if S is a type class +external pred lp.tc? i:symbol. + +% [lp.term->string T S] Pretty prints a term T to the string S +external pred lp.term->string i:term, o:string. + +% ---- Elpi predicates ---- + +% == Core builtins ===================================== + +% -- Logic -- + +pred true. + +true. + +pred fail. + +pred false. + +external pred (=) o:A, o:A. % unification + +typeabbrev int (ctype "int"). + + +typeabbrev string (ctype "string"). + + +typeabbrev float (ctype "float"). + + +pred (;) o:prop, o:prop. + +(A ; _) :- A. + +(_ ; B) :- B. + +type (:-) prop -> prop -> prop. + +type (:-) prop -> list prop -> prop. + +type (,) variadic prop prop. + +type uvar A. + +type (as) A -> A -> A. + +type (=>) prop -> prop -> prop. + +type (=>) list prop -> prop -> prop. + +% -- Control -- + +external pred !. % The cut operator + +pred not i:prop. + +not X :- X, !, fail. + +not _. + +% [declare_constraint C Key1 Key2...] declares C blocked +% on Key1 Key2 ... (variables, or lists thereof). +external type declare_constraint variadic any prop. + +external pred print_constraints. % prints all constraints + +% [halt ...] halts the program and print the terms +external type halt variadic any prop. + +pred stop. + +stop :- halt. + +% -- Evaluation -- + +% [calc Expr Out] unifies Out with the value of Expr. It can be used in +% tandem with spilling, eg [f {calc (N + 1)}] +external pred calc i:A, o:A. + +pred (is) o:A, i:A. + +X is Y :- calc Y X. + +type (-) A -> A -> A. + +type (i-) int -> int -> int. + +type (r-) float -> float -> float. + +type (+) int -> int -> int. + +type (+) float -> float -> float. + +type (i+) int -> int -> int. + +type (r+) float -> float -> float. + +type (*) int -> int -> int. + +type (*) float -> float -> float. + +type (/) float -> float -> float. + +type (mod) int -> int -> int. + +type (div) int -> int -> int. + +type (^) string -> string -> string. + +type (~) int -> int. + +type (~) float -> float. + +type (i~) int -> int. + +type (r~) float -> float. + +type abs int -> int. + +type abs float -> float. + +type iabs int -> int. + +type rabs float -> float. + +type max int -> int -> int. + +type max float -> float -> float. + +type min int -> int -> int. + +type min float -> float -> float. + +type sqrt float -> float. + +type sin float -> float. + +type cos float -> float. + +type arctan float -> float. + +type ln float -> float. + +type int_to_real int -> float. + +type floor float -> int. + +type ceil float -> int. + +type truncate float -> int. + +type size string -> int. + +type chr int -> string. + +type rhc string -> int. + +type string_to_int string -> int. + +type int_to_string int -> string. + +type substring string -> int -> int -> string. + +type real_to_string float -> string. + +% -- Arithmetic tests -- + +% [lt_ X Y] checks if X < Y. Works for string, int and float +external pred lt_ i:A, i:A. + +% [gt_ X Y] checks if X > Y. Works for string, int and float +external pred gt_ i:A, i:A. + +% [le_ X Y] checks if X =< Y. Works for string, int and float +external pred le_ i:A, i:A. + +% [ge_ X Y] checks if X >= Y. Works for string, int and float +external pred ge_ i:A, i:A. + +type (<), (>), (=<), (>=) A -> A -> prop. + +X > Y :- gt_ X Y. + +X < Y :- lt_ X Y. + +X =< Y :- le_ X Y. + +X >= Y :- ge_ X Y. + +type (i<), (i>), (i=<), (i>=) int -> int -> prop. + +X i< Y :- lt_ X Y. + +X i> Y :- gt_ X Y. + +X i=< Y :- le_ X Y. + +X i>= Y :- ge_ X Y. + +type (r<), (r>), (r=<), (r>=) float -> float -> prop. + +X r< Y :- lt_ X Y. + +X r> Y :- gt_ X Y. + +X r=< Y :- le_ X Y. + +X r>= Y :- ge_ X Y. + +type (s<), (s>), (s=<), (s>=) string -> string -> prop. + +X s< Y :- lt_ X Y. + +X s> Y :- gt_ X Y. + +X s=< Y :- le_ X Y. + +X s>= Y :- ge_ X Y. + +% -- Standard data types (supported in the FFI) -- + +kind list type -> type. + +type (::) X -> list X -> list X. + +type ([]) list X. + +% Boolean values: tt and ff since true and false are predicates +kind bool type. +type tt bool. +type ff bool. + +% Pair: the constructor is pr, since ',' is for conjunction +kind pair type -> type -> type. +type pr A -> B -> pair A B. + +pred fst i:pair A B, o:A. + +fst (pr A _) A. + +pred snd i:pair A B, o:B. + +snd (pr _ B) B. + +% The option type (aka Maybe) +kind option type -> type. +type none option A. +type some A -> option A. + +% Result of a comparison +kind cmp type. +type eq cmp. +type lt cmp. +type gt cmp. + +% Used in builtin variants that return Coq's error rather than failing +kind diagnostic type. +type ok diagnostic. % Success +type error string -> diagnostic. % Failure + +% == I/O builtins ===================================== + +% -- I/O -- + +typeabbrev in_stream (ctype "in_stream"). + +type std_in in_stream. + +typeabbrev out_stream (ctype "out_stream"). + +type std_out out_stream. +type std_err out_stream. + +% [open_in FileName InStream] opens FileName for input +external pred open_in i:string, o:in_stream. + +% [open_out FileName OutStream] opens FileName for output +external pred open_out i:string, o:out_stream. + +% [open_append FileName OutStream] opens FileName for output in append mode +external pred open_append i:string, o:out_stream. + +% [close_in InStream] closes input stream InStream +external pred close_in i:in_stream. + +% [close_out OutStream] closes output stream OutStream +external pred close_out i:out_stream. + +% [output OutStream Data] writes Data to OutStream +external pred output i:out_stream, i:string. + +% [flush OutStream] flush all output not yet finalized to OutStream +external pred flush i:out_stream. + +% [input InStream Bytes Data] reads Bytes from InStream +external pred input i:in_stream, i:int, o:string. + +% [input_line InStream Line] reads a full line from InStream +external pred input_line i:in_stream, o:string. + +% [eof InStream] checks if no more data can be read from InStream +external pred eof i:in_stream. + +% -- System -- + +% [gettimeofday T] sets T to the number of seconds elapsed since 1/1/1970 +external pred gettimeofday o:float. + +% [getenv VarName Value] Like Sys.getenv +external pred getenv i:string, o:option string. + +% [system Command RetVal] executes Command and sets RetVal to the exit code +external pred system i:string, o:int. + +% -- Debugging -- + +% [term_to_string T S] prints T to S +external pred term_to_string i:any, o:string. + +% == Lambda Prolog builtins ===================================== + +% -- Extra I/O -- + +% [open_string DataIn InStream] opens DataIn as an input stream +external pred open_string i:string, o:in_stream. + +% [lookahead InStream NextChar] peeks one byte from InStream +external pred lookahead i:in_stream, o:string. + +% -- Hacks -- + +% [string_to_term S T] parses a term T from S +external pred string_to_term i:string, o:any. + +% [readterm InStream T] reads T from InStream, ends with \n +external pred readterm i:in_stream, o:any. + +pred printterm i:out_stream, i:A. + +printterm S T :- term_to_string T T1, output S T1. + +pred read o:A. + +read S :- flush std_out, input_line std_in X, string_to_term X S. + +% == Elpi builtins ===================================== + +% [dprint ...] prints raw terms (debugging) +external type dprint variadic any prop. + +% [print ...] prints terms +external type print variadic any prop. + +% Deprecated, use trace.counter +pred counter i:string, o:int. +counter C N :- trace.counter C N. + +% [quote_syntax FileName QueryText QuotedProgram QuotedQuery] quotes the +% program from FileName and the QueryText. See elpi-quoted_syntax.elpi for +% the syntax tree +external pred quote_syntax i:string, i:string, o:list A, o:A. + +typeabbrev loc (ctype "Loc.t"). + + +% [loc.fields Loc File StartChar StopChar Line LineStartsAtChar] Decomposes +% a loc into its fields +external pred loc.fields i:loc, o:string, o:int, o:int, o:int, o:int. + +% == Regular Expressions ===================================== + +% [rex.match Rex Subject] checks if Subject matches Rex. Matching is based +% on OCaml's Str library +external pred rex.match i:string, i:string. + +% [rex.replace Rex Replacement Subject Out] Out is obtained by replacing all +% occurrences of Rex with Replacement in Subject. See also OCaml's +% Str.global_replace +external pred rex.replace i:string, i:string, i:string, o:string. + +% [rex.split Rex Subject Out] Out is obtained by splitting Subject at all +% occurrences of Rex. See also OCaml's Str.split +external pred rex.split i:string, i:string, o:list string. + +% Deprecated, use rex.match +pred rex_match i:string, i:string. +rex_match Rx S :- rex.match Rx S. + +% Deprecated, use rex.replace +pred rex_replace i:string, i:string, i:string, o:string. +rex_replace Rx R S O :- rex.replace Rx R S O. + +% Deprecated, use rex.split +pred rex_split i:string, i:string, o:list string. +rex_split Rx S L :- rex.split Rx S L. + +% == Elpi nonlogical builtins ===================================== + +% Opaque ML data types +kind ctyp type. +type ctype string -> ctyp. + +% [var V ...] checks if the term V is a variable. When used with tree +% arguments it relates an applied variable with its head and argument list. +external type var any -> variadic any prop. + +% [prune V L] V is pruned to L (V is unified with a variable that only sees +% the list of names L) +external pred prune o:any, i:list any. + +% [distinct_names L] checks if L is a list of distinct names. If L is the +% scope of a unification variable (its arguments, as per var predicate) then +% distinct_names L checks that such variable is in the Miller pattern +% fragment (L_\lambda) +external pred distinct_names i:list any. + +% [same_var V1 V2] checks if the two terms V1 and V2 are the same variable, +% ignoring the arguments of the variables +external pred same_var i:A, i:A. + +% [same_term T1 T2] checks if the two terms T1 and T2 are syntactically +% equal (no unification). It behaves differently than same_var since it +% recursively compares the arguments of the variables +external pred same_term i:A, i:A. + + +% Infix notation for same_term +pred (==) i:A, i:A. +X == Y :- same_term X Y. + + +% [cmp_term A B Cmp] Compares A and B. Only works if A and B are ground. +external pred cmp_term i:any, i:any, o:cmp. + +% [name T ...] checks if T is a eigenvariable. When used with tree arguments +% it relates an applied name with its head and argument list. +external type name any -> variadic any prop. + +% [constant T ...] checks if T is a (global) constant. When used with tree +% arguments it relates an applied constant with its head and argument list. +external type constant any -> variadic any prop. + +external pred names % generates the list of eigenvariable + o:list any. % list of eigenvariables in order of age (young first) + +external pred occurs % checks if the atom occurs in the term + i:any, % an atom, that is a global constant or a bound name (aka eigenvariable) + i:any. % a term + +% [closed_term T] unify T with a variable that has no eigenvariables in +% scope +external pred closed_term o:any. + +% [ground_term T] Checks if T contains unification variables +external pred ground_term i:any. + +% [is_cdata T Ctype] checks if T is primitive of type Ctype, eg (ctype +% "int") +external pred is_cdata i:any, o:ctyp. + +pred primitive? i:A, i:string. + +primitive? X S :- is_cdata X (ctype S). + +% [new_int N] unifies N with a different int every time it is called. Values +% of N are guaranteed to be incresing. +external pred new_int o:int. + +% [findall_solution P L] finds all the solved instances of P and puts them +% in L +% in the order in which they are found. Instances can contain +% eigenvariables +% and unification variables. + +external pred findall_solutions i:prop, o:list prop. + +% Holds data across bracktracking; can only contain closed terms +typeabbrev safe (ctype "safe"). + + +% [new_safe Safe] creates a safe: a store that persists across backtracking +external pred new_safe o:safe. + +% [stash_in_safe Safe Data] stores Data in the Safe +external pred stash_in_safe i:safe, i:A. + +% [open_safe Safe Data] retrieves the Data stored in Safe +external pred open_safe i:safe, o:list A. + + +% [if C T E] picks the first success of C then runs T (never E). +% if C has no success it runs E. +pred if i:prop, i:prop, i:prop. +if B T _ :- B, !, T. +if _ _ E :- E. + +% [if2 C1 B1 C2 B2 E] like if but with 2 then branches (and one else branch). +pred if2 i:prop, i:prop, i:prop, i:prop, i:prop. +if2 G1 P1 _ _ _ :- G1, !, P1. +if2 _ _ G2 P2 _ :- G2, !, P2. +if2 _ _ _ _ E :- !, E. + +% [random.init Seed] Initialize OCaml's PRNG with the given Seed +external pred random.init i:int. + +% [random.self_init] Initialize OCaml's PRNG with some seed +external pred random.self_init . + +% [random.int Bound N] unifies N with a random int between 0 and Bound +% (excluded) +external pred random.int i:int, o:int. + +#line 0 "builtin_stdlib.elpi" +% == stdlib ======================================================= + +% Conventions: +% - all predicates declare a mode with some input arguments, unless... +% - predicates whose name ends with R are relations (work in any direction, +% that is all arguments are in output mode) +% - predicates whose name ends with ! do contain a cut and generate only the +% first result +% - all errors given by this library end up calling fatal-error[-w-data], +% override it in order to handle them differently +% - all debug prints by this library end up calling debug-print, override it +% in order to handle them differently + +namespace std { + +pred fatal-error i:string. +:name "default-fatal-error" +fatal-error Msg :- halt Msg. + +pred fatal-error-w-data i:string, i:A. +:name "default-fatal-error-w-data" +fatal-error-w-data Msg Data :- halt Msg ":" Data. + +pred debug-print i:string, i:A. +:name "default-debug-print" +debug-print Msg Data :- print Msg Data. + +% -- Errors, Debugging, Hacks -- + +pred ignore-failure! i:prop. +ignore-failure! P :- P, !. +ignore-failure! _. + +% [assert! C M] takes the first success of C or fails with message M +pred assert! i:prop, i:string. +assert! Cond Msg :- (Cond ; fatal-error-w-data Msg Cond), !. + +% [assert-ok! C M] like assert! but the last argument of the predicate must +% be a diagnostic that is printed after M in case it is not ok +pred assert-ok! i:(diagnostic -> prop), i:string. +assert-ok! Cond Msg :- Cond Diagnostic, !, (Diagnostic = ok ; Diagnostic = error S, fatal-error-w-data Msg S), !. +assert-ok! _ Msg :- fatal-error-w-data Msg "no diagnostic returned". + +% [spy P] traces the call to P, printing all success and the final failure +pred spy i:prop. +spy P :- trace.counter "run" NR, if (not(NR = 0)) (debug-print "run=" NR) true, + debug-print "----<<---- enter: " P, + P, + debug-print "---->>---- exit: " P. +spy P :- debug-print "---->>---- fail: " P, fail. + +% [spy! P] traces the first call to P without leaving a choice point +pred spy! i:prop. +spy! P :- trace.counter "run" NR, if (not(NR = 0)) (debug-print "run=" NR) true, + debug-print "----<<---- enter: " P, + P, + debug-print "---->>---- exit: " P, !. +spy! P :- debug-print "---->>---- fail: " P, fail. + +% to silence the type checker +pred unsafe-cast o:A, o:B. +unsafe-cast X X. + +% -- List processing -- + +pred length i:list A, o:int. +length [_|L] N :- length L N1, N is N1 + 1. +length [] 0. + +pred rev i:list A, o:list A. +rev L RL :- rev.aux L [] RL. +rev.aux [X|XS] ACC R :- rev.aux XS [X|ACC] R. +rev.aux [] L L. + +pred last i:list A, o:A. +last [] _ :- fatal-error "last on empty list". +last [X] X :- !. +last [_|XS] R :- last XS R. + +pred append i:list A, i:list A, o:list A. +append [X|XS] L [X|L1] :- append XS L L1 . +append [] L L . + +pred appendR o:list A, o:list A, o:list A. +appendR [X|XS] L [X|L1] :- appendR XS L L1 . +appendR [] L L . + +pred take i:int, i:list A, o:list A. +take 0 _ [] :- !. +take N [X|XS] [X|L] :- !, N1 is N - 1, take N1 XS L. +take _ _ _ :- fatal-error "take run out of list items". + +pred take-last i:int, i:list A, o:list A. +take-last N L R :- + length L M, + D is M - N, + drop D L R. + +pred drop i:int, i:list A, o:list A. +drop 0 L L :- !. +drop N [_|XS] L :- !, N1 is N - 1, drop N1 XS L. +drop _ _ _ :- fatal-error "drop run out of list items". + +pred drop-last i:int, i:list A, o:list A. +drop-last N L R :- + length L M, I is M - N, take I L R. + +pred split-at i:int, i:list A, o:list A, o:list A. +split-at 0 L [] L :- !. +split-at N [X|XS] [X|LN] LM :- !, N1 is N - 1, split-at N1 XS LN LM. +split-at _ _ _ _ :- fatal-error "split-at run out of list items". + +pred fold i:list B, i:A, i:(B -> A -> A -> prop), o:A. +fold [] A _ A. +fold [X|XS] A F R :- F X A A1, fold XS A1 F R. + +pred fold2 i:list C, i:list B, i:A, i:(C -> B -> A -> A -> prop), o:A. +fold2 [] [_|_] _ _ _ :- fatal-error "fold2 on lists of different length". +fold2 [_|_] [] _ _ _ :- fatal-error "fold2 on lists of different length". +fold2 [] [] A _ A. +fold2 [X|XS] [Y|YS] A F R :- F X Y A A1, fold2 XS YS A1 F R. + +pred map i:list A, i:(A -> B -> prop), o:list B. +map [] _ []. +map [X|XS] F [Y|YS] :- F X Y, map XS F YS. + +pred map-i i:list A, i:(int -> A -> B -> prop), o:list B. +map-i L F R :- map-i.aux L 0 F R. +map-i.aux [] _ _ []. +map-i.aux [X|XS] N F [Y|YS] :- F N X Y, M is N + 1, map-i.aux XS M F YS. + +pred map-filter i:list A, i:(A -> B -> prop), o:list B. +map-filter [] _ []. +map-filter [X|XS] F [Y|YS] :- F X Y, !, map-filter XS F YS. +map-filter [_|XS] F YS :- map-filter XS F YS. + +:index(1 1) +pred map2 i:list A, i:list B, i:(A -> B -> C -> prop), o:list C. +map2 [] [_|_] _ _ :- fatal-error "map2 on lists of different length". +map2 [_|_] [] _ _ :- fatal-error "map2 on lists of different length". +map2 [] [] _ []. +map2 [X|XS] [Y|YS] F [Z|ZS] :- F X Y Z, map2 XS YS F ZS. + +pred map2-filter i:list A, i:list B, i:(A -> B -> C -> prop), o:list C. +map2-filter [] [_|_] _ _ :- fatal-error "map2-filter on lists of different length". +map2-filter [_|_] [] _ _ :- fatal-error "map2-filter on lists of different length". +map2-filter [] [] _ []. +map2-filter [X|XS] [Y|YS] F [Z|ZS] :- F X Y Z, !, map2-filter XS YS F ZS. +map2-filter [_|XS] [_|YS] F ZS :- map2-filter XS YS F ZS. + +pred map-ok i:list A, i:(A -> B -> diagnostic -> prop), o:list A, o:diagnostic. +map-ok [X|L] P [Y|YS] S :- P X Y S0, if (S0 = ok) (map-ok L P YS S) (S = S0). +map-ok [] _ [] ok. + +pred fold-map i:list A, i:B, i:(A -> B -> C -> B -> prop), o:list C, o:B. +fold-map [] A _ [] A. +fold-map [X|XS] A F [Y|YS] A2 :- F X A Y A1, fold-map XS A1 F YS A2. + +pred omap i:option A, i:(A -> B -> prop), o:option B. +omap none _ none. +omap (some X) F (some Y) :- F X Y. + +% [nth N L X] picks in X the N-th element of L (L must be of length > N) +pred nth i:int, i:list A, o:A. +nth 0 [X|_ ] R :- !, X = R. +nth N [_|XS] R :- N > 0, !, N1 is N - 1, nth N1 XS R. +nth N _ _ :- N < 0, !, fatal-error "nth got a negative index". +nth _ _ _ :- fatal-error "nth run out of list items". + +% [lookup L K V] sees L as a map from K to V +pred lookup i:list (pair A B), i:A, o:B. +lookup [pr X Y|_] X Y. +lookup [_|LS] X Y :- lookup LS X Y. + +% [lookup! L K V] sees L as a map from K to V, stops at the first binding +pred lookup! i:list (pair A B), i:A, o:B. +lookup! [pr X Y|_] X Y :- !. +lookup! [_|LS] X Y :- lookup! LS X Y. + +% [mem! L X] succeeds once if X occurs inside L +pred mem! i:list A, o:A. +mem! [X|_] X :- !. +mem! [_|L] X :- mem! L X. + +% [mem L X] succeeds every time if X occurs inside L +pred mem i:list A, o:A. +mem [X|_] X. +mem [_|L] X :- mem L X. + +pred exists i:list A, i:(A -> prop). +exists [X|_] P :- P X. +exists [_|L] P :- exists L P. + +pred exists2 i:list A, i:list B, i:(A -> B -> prop). +exists2 [] [_|_] _ :- fatal-error "exists2 on lists of different length". +exists2 [_|_] [] _ :- fatal-error "exists2 on lists of different length". +exists2 [X|_] [Y|_] P :- P X Y. +exists2 [_|L] [_|M] P :- exists2 L M P. + +pred forall i:list A, i:(A -> prop). +forall [] _. +forall [X|L] P :- P X, forall L P. + +pred forall-ok i:list A, i:(A -> diagnostic -> prop), o:diagnostic. +forall-ok [X|L] P S :- P X S0, if (S0 = ok) (forall-ok L P S) (S = S0). +forall-ok [] _ ok. + +pred forall2 i:list A, i:list B, i:(A -> B -> prop). +forall2 [] [_|_] _ :- fatal-error "forall2 on lists of different length". +forall2 [_|_] [] _ :- fatal-error "forall2 on lists of different length". +forall2 [X|XS] [Y|YS] P :- P X Y, forall2 XS YS P. +forall2 [] [] _. + +pred filter i:list A, i:(A -> prop), o:list A. +filter [] _ []. +filter [X|L] P R :- if (P X) (R = X :: L1) (R = L1), filter L P L1. + +pred zip i:list A, i:list B, o:list (pair A B). +zip [_|_] [] _ :- fatal-error "zip on lists of different length". +zip [] [_|_] _ :- fatal-error "zip on lists of different length". +zip [X|LX] [Y|LY] [pr X Y|LR] :- zip LX LY LR. +zip [] [] []. + +pred unzip i:list (pair A B), o:list A, o:list B. +unzip [] [] []. +unzip [pr X Y|L] [X|LX] [Y|LY] :- unzip L LX LY. + +pred flatten i:list (list A), o:list A. +flatten [X|LS] R :- flatten LS LS', append X LS' R. +flatten [] []. + +pred null i:list A. +null []. + +pred iota i:int, o:list int. +iota N L :- iota.aux 0 N L. +iota.aux X X [] :- !. +iota.aux N X [N|R] :- M is N + 1, iota.aux M X R. + +% [intersperse X L R] R is [L0, X, ..., X, LN] +:index(_ 1) +pred intersperse i:A, i:list A, o:list A. +intersperse _ [] []. +intersperse _ [X] [X] :- !. +intersperse Sep [X|XS] [X,Sep|YS] :- intersperse Sep XS YS. + +% -- Misc -- + +pred flip i:(A -> B -> prop), i:B, i:A. +flip P X Y :- P Y X. + +pred time i:prop, o:float. +time P T :- gettimeofday Before, P, gettimeofday After, T is After - Before. + +pred do! i:list prop. +do! []. +do! [P|PS] :- P, !, do! PS. + +:index(_ 1) +pred do-ok! o:diagnostic, i:list (diagnostic -> prop). +do-ok! ok []. +do-ok! S [P|PS] :- P S0, !, if (S0 = ok) (do-ok! S PS) (S = S0). + +pred lift-ok i:prop, i:string, o:diagnostic. +lift-ok P Msg R :- (P, R = ok; R = error Msg). + +pred spy-do! i:list prop. +spy-do! L :- map L (x\y\y = spy x) L1, do! L1. + +pred while-ok-do! i:diagnostic, i:list (diagnostic -> prop), o:diagnostic. +while-ok-do! (error _ as E) _ E. +while-ok-do! ok [] ok. +while-ok-do! ok [P|PS] R :- P C, !, while-ok-do! C PS R. + +pred any->string i:A, o:string. +any->string X Y :- term_to_string X Y. + +pred max i:A, i:A, o:A. +max N M N :- N >= M, !. +max _ M M. + +% [findall P L] L is the list [P1,P2,P3..] where each Pi is a solution to P. +pred findall i:prop, o:list prop. +findall P L :- findall_solutions P L. + +} + +% [std.string.concat Separator Items Result] concatenates Items +% interspersing Separator +external pred std.string.concat i:string, i:list string, o:string. + +% CAVEAT: the type parameter of std.string.map must be a closed term + +kind std.string.map type -> type. + +% [std.string.map.empty M] The empty map +external pred std.string.map.empty o:std.string.map A. + +% [std.string.map.mem S M] Checks if S is bound in M +external pred std.string.map.mem i:string, i:std.string.map A. + +% [std.string.map.add S V M M1] M1 is M where V is bound to S +external pred std.string.map.add i:string, i:A, i:std.string.map A, + o:std.string.map A. + +% [std.string.map.remove S M M1] M1 is M where S is unbound +external pred std.string.map.remove i:string, i:std.string.map A, + o:std.string.map A. + +% [std.string.map.find S M V] V is the binding of S in M +external pred std.string.map.find i:string, i:std.string.map A, o:A. + +% [std.string.map.bindings M L] L is M transformed into an associative list +external pred std.string.map.bindings i:std.string.map A, + o:list (pair string A). + +% CAVEAT: the type parameter of std.int.map must be a closed term + +kind std.int.map type -> type. + +% [std.int.map.empty M] The empty map +external pred std.int.map.empty o:std.int.map A. + +% [std.int.map.mem S M] Checks if S is bound in M +external pred std.int.map.mem i:int, i:std.int.map A. + +% [std.int.map.add S V M M1] M1 is M where V is bound to S +external pred std.int.map.add i:int, i:A, i:std.int.map A, + o:std.int.map A. + +% [std.int.map.remove S M M1] M1 is M where S is unbound +external pred std.int.map.remove i:int, i:std.int.map A, o:std.int.map A. + +% [std.int.map.find S M V] V is the binding of S in M +external pred std.int.map.find i:int, i:std.int.map A, o:A. + +% [std.int.map.bindings M L] L is M transformed into an associative list +external pred std.int.map.bindings i:std.int.map A, o:list (pair int A). + +% CAVEAT: the type parameter of std.loc.map must be a closed term + +kind std.loc.map type -> type. + +% [std.loc.map.empty M] The empty map +external pred std.loc.map.empty o:std.loc.map A. + +% [std.loc.map.mem S M] Checks if S is bound in M +external pred std.loc.map.mem i:loc, i:std.loc.map A. + +% [std.loc.map.add S V M M1] M1 is M where V is bound to S +external pred std.loc.map.add i:loc, i:A, i:std.loc.map A, + o:std.loc.map A. + +% [std.loc.map.remove S M M1] M1 is M where S is unbound +external pred std.loc.map.remove i:loc, i:std.loc.map A, o:std.loc.map A. + +% [std.loc.map.find S M V] V is the binding of S in M +external pred std.loc.map.find i:loc, i:std.loc.map A, o:A. + +% [std.loc.map.bindings M L] L is M transformed into an associative list +external pred std.loc.map.bindings i:std.loc.map A, o:list (pair loc A). + +kind std.string.set type. + +% [std.string.set.empty A] The empty set +external pred std.string.set.empty o:std.string.set. + +% [std.string.set.mem Elem A] Checks if Elem is in a +external pred std.string.set.mem i:string, i:std.string.set. + +% [std.string.set.add Elem A B] B is A union {Elem} +external pred std.string.set.add i:string, i:std.string.set, + o:std.string.set. + +% [std.string.set.remove Elem A B] B is A \ {Elem} +external pred std.string.set.remove i:string, i:std.string.set, + o:std.string.set. + +% [std.string.set.union A B X] X is A union B +external pred std.string.set.union i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.inter A B X] X is A intersection B +external pred std.string.set.inter i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.diff A B X] X is A \ B +external pred std.string.set.diff i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.equal A B] tests A and B for equality +external pred std.string.set.equal i:std.string.set, i:std.string.set. + +% [std.string.set.subset A B] tests if A is a subset of B +external pred std.string.set.subset i:std.string.set, i:std.string.set. + +% [std.string.set.elements M L] L is M transformed into list +external pred std.string.set.elements i:std.string.set, o:list string. + +% [std.string.set.cardinal M N] N is the number of elements of M +external pred std.string.set.cardinal i:std.string.set, o:int. + +kind std.int.set type. + +% [std.int.set.empty A] The empty set +external pred std.int.set.empty o:std.int.set. + +% [std.int.set.mem Elem A] Checks if Elem is in a +external pred std.int.set.mem i:int, i:std.int.set. + +% [std.int.set.add Elem A B] B is A union {Elem} +external pred std.int.set.add i:int, i:std.int.set, o:std.int.set. + +% [std.int.set.remove Elem A B] B is A \ {Elem} +external pred std.int.set.remove i:int, i:std.int.set, o:std.int.set. + +% [std.int.set.union A B X] X is A union B +external pred std.int.set.union i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.inter A B X] X is A intersection B +external pred std.int.set.inter i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.diff A B X] X is A \ B +external pred std.int.set.diff i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.equal A B] tests A and B for equality +external pred std.int.set.equal i:std.int.set, i:std.int.set. + +% [std.int.set.subset A B] tests if A is a subset of B +external pred std.int.set.subset i:std.int.set, i:std.int.set. + +% [std.int.set.elements M L] L is M transformed into list +external pred std.int.set.elements i:std.int.set, o:list int. + +% [std.int.set.cardinal M N] N is the number of elements of M +external pred std.int.set.cardinal i:std.int.set, o:int. + +kind std.loc.set type. + +% [std.loc.set.empty A] The empty set +external pred std.loc.set.empty o:std.loc.set. + +% [std.loc.set.mem Elem A] Checks if Elem is in a +external pred std.loc.set.mem i:loc, i:std.loc.set. + +% [std.loc.set.add Elem A B] B is A union {Elem} +external pred std.loc.set.add i:loc, i:std.loc.set, o:std.loc.set. + +% [std.loc.set.remove Elem A B] B is A \ {Elem} +external pred std.loc.set.remove i:loc, i:std.loc.set, o:std.loc.set. + +% [std.loc.set.union A B X] X is A union B +external pred std.loc.set.union i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.inter A B X] X is A intersection B +external pred std.loc.set.inter i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.diff A B X] X is A \ B +external pred std.loc.set.diff i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.equal A B] tests A and B for equality +external pred std.loc.set.equal i:std.loc.set, i:std.loc.set. + +% [std.loc.set.subset A B] tests if A is a subset of B +external pred std.loc.set.subset i:std.loc.set, i:std.loc.set. + +% [std.loc.set.elements M L] L is M transformed into list +external pred std.loc.set.elements i:std.loc.set, o:list loc. + +% [std.loc.set.cardinal M N] N is the number of elements of M +external pred std.loc.set.cardinal i:std.loc.set, o:int. + +#line 0 "builtin_map.elpi" +kind std.map type -> type -> type. +type std.map std.map.private.map K V -> (K -> K -> cmp -> prop) -> std.map K V. + +namespace std.map { + +% [make Eq Ltn M] builds an empty map M where keys are compared using Eq and Ltn +pred make i:(K -> K -> cmp -> prop), o:std.map K V. +make Cmp (std.map private.empty Cmp). + +% [find K M V] looks in M for the value V associated to K +pred find i:K, i:std.map K V, o:V. +find K (std.map M Cmp) V :- private.find M Cmp K V. + +% [add K V M M1] M1 is M where K is bound to V +pred add i:K, i:V, i:std.map K V, o:std.map K V. +add K V (std.map M Cmp) (std.map M1 Cmp) :- private.add M Cmp K V M1. + +% [remove K M M1] M1 is M where K is unbound +pred remove i:K, i:std.map K V, o:std.map K V. +remove K (std.map M Cmp) (std.map M1 Cmp) :- private.remove M Cmp K M1. + +% [bindings M L] L is the key-value pairs in increasing order +pred bindings i:std.map K V, o:list (pair K V). +bindings (std.map M _) L :- private.bindings M [] L. + +namespace private { + +% Taken from OCaml's map.ml +kind map type -> type -> type. +type empty map K V. +type node map K V -> K -> V -> map K V -> int -> map K V. + +pred height i:map K V, o:int. +height empty 0. +height (node _ _ _ _ H) H. + +pred create i:map K V, i:K, i:V, i:map K V, o:map K V. +create L K V R (node L K V R H) :- H is {std.max {height L} {height R}} + 1. + +pred bal i:map K V, i:K, i:V, i:map K V, o:map K V. +bal L K V R T :- + height L HL, + height R HR, + HL2 is HL + 2, + HR2 is HR + 2, + bal.aux HL HR HL2 HR2 L K V R T. + +bal.aux HL _ _ HR2 (node LL LV LD LR _) X D R T :- + HL > HR2, {height LL} >= {height LR}, !, + create LL LV LD {create LR X D R} T. +bal.aux HL _ _ HR2 (node LL LV LD (node LRL LRV LRD LRR _) _) X D R T :- + HL > HR2, !, + create {create LL LV LD LRL} LRV LRD {create LRR X D R} T. +bal.aux _ HR HL2 _ L X D (node RL RV RD RR _) T :- + HR > HL2, {height RR} >= {height RL}, !, + create {create L X D RL} RV RD RR T. +bal.aux _ HR HL2 _ L X D (node (node RLL RLV RLD RLR _) RV RD RR _) T :- + HR > HL2, !, + create {create L X D RLL} RLV RLD {create RLR RV RD RR} T. +bal.aux _ _ _ _ L K V R T :- create L K V R T. + +pred add i:map K V, i:(K -> K -> cmp -> prop), i:K, i:V, o:map K V. +add empty _ K V T :- create empty K V empty T. +add (node _ X _ _ _ as M) Cmp X1 XD M1 :- Cmp X1 X E, add.aux E M Cmp X1 XD M1. +add.aux eq (node L _ _ R H) _ X XD T :- T = node L X XD R H. +add.aux lt (node L V D R _) Cmp X XD T :- bal {add L Cmp X XD} V D R T. +add.aux gt (node L V D R _) Cmp X XD T :- bal L V D {add R Cmp X XD} T. + +pred find i:map K V, i:(K -> K -> cmp -> prop), i:K, o:V. +find (node L K1 V1 R _) Cmp K V :- Cmp K K1 E, find.aux E Cmp L R V1 K V. +find.aux eq _ _ _ V _ V. +find.aux lt Cmp L _ _ K V :- find L Cmp K V. +find.aux gt Cmp _ R _ K V :- find R Cmp K V. + +pred remove-min-binding i:map K V, o:map K V. +remove-min-binding (node empty _ _ R _) R :- !. +remove-min-binding (node L V D R _) X :- bal {remove-min-binding L} V D R X. + +pred min-binding i:map K V, o:K, o:V. +min-binding (node empty V D _ _) V D :- !. +min-binding (node L _ _ _ _) V D :- min-binding L V D. + +pred merge i:map K V, i:map K V, o:map K V. +merge empty X X :- !. +merge X empty X :- !. +merge M1 M2 R :- + min-binding M2 X D, + bal M1 X D {remove-min-binding M2} R. + +pred remove i:map K V, i:(K -> K -> cmp -> prop), i:K, o:map K V. +remove empty _ _ empty :- !. +remove (node L V D R _) Cmp X M :- Cmp X V E, remove.aux E Cmp L R V D X M. +remove.aux eq _ L R _ _ _ M :- merge L R M. +remove.aux lt Cmp L R V D X M :- bal {remove L Cmp X} V D R M. +remove.aux gt Cmp L R V D X M :- bal L V D {remove R Cmp X} M. + +pred bindings i:map K V, i:list (pair K V), o:list (pair K V). +bindings empty X X. +bindings (node L V D R _) X X1 :- + bindings L [pr V D|{bindings R X}] X1. + + +} % std.map.private +} % std.map + + +#line 0 "builtin_set.elpi" +kind std.set type -> type. +type std.set std.set.private.set E -> (E -> E -> cmp -> prop) -> std.set E. + +namespace std.set { + +% [make Eq Ltn M] builds an empty set M where keys are compared using Eq and Ltn +pred make i:(E -> E -> cmp -> prop), o:std.set E. +make Cmp (std.set private.empty Cmp). + +% [mem E M] looks if E is in M +pred mem i:E, i:std.set E. +mem E (std.set M Cmp):- private.mem M Cmp E. + +% [add E M M1] M1 is M + {E} +pred add i:E, i:std.set E, o:std.set E. +add E (std.set M Cmp) (std.set M1 Cmp) :- private.add M Cmp E M1. + +% [remove E M M1] M1 is M - {E} +pred remove i:E, i:std.set E, o:std.set E. +remove E (std.set M Cmp) (std.set M1 Cmp) :- private.remove M Cmp E M1. + +% [cardinal S N] N is the number of elements of S +pred cardinal i:std.set E, o:int. +cardinal (std.set M _) N :- private.cardinal M N. + +pred elements i:std.set E, o:list E. +elements (std.set M _) L :- private.elements M [] L. + +namespace private { + +% Taken from OCaml's set.ml +kind set type -> type. +type empty set E. +type node set E -> E -> set E -> int -> set E. + +pred height i:set E, o:int. +height empty 0. +height (node _ _ _ H) H. + +pred create i:set E, i:E, i:set E, o:set E. +create L E R (node L E R H) :- H is {std.max {height L} {height R}} + 1. + +pred bal i:set E, i:E, i:set E, o:set E. +bal L E R T :- + height L HL, + height R HR, + HL2 is HL + 2, + HR2 is HR + 2, + bal.aux HL HR HL2 HR2 L E R T. + +bal.aux HL _ _ HR2 (node LL LV LR _) X R T :- + HL > HR2, {height LL} >= {height LR}, !, + create LL LV {create LR X R} T. +bal.aux HL _ _ HR2 (node LL LV (node LRL LRV LRR _) _) X R T :- + HL > HR2, !, + create {create LL LV LRL} LRV {create LRR X R} T. +bal.aux _ HR HL2 _ L X (node RL RV RR _) T :- + HR > HL2, {height RR} >= {height RL}, !, + create {create L X RL} RV RR T. +bal.aux _ HR HL2 _ L X (node (node RLL RLV RLR _) RV RR _) T :- + HR > HL2, !, + create {create L X RLL} RLV {create RLR RV RR} T. +bal.aux _ _ _ _ L E R T :- create L E R T. + +pred add i:set E, i:(E -> E -> cmp -> prop), i:E, o:set E. +add empty _ E T :- create empty E empty T. +add (node L X R H) Cmp X1 S :- Cmp X1 X E, add.aux E Cmp L R X X1 H S. +add.aux eq _ L R X _ H (node L X R H). +add.aux lt Cmp L R E X _ T :- bal {add L Cmp X} E R T. +add.aux gt Cmp L R E X _ T :- bal L E {add R Cmp X} T. + +pred mem i:set E, i:(E -> E -> cmp -> prop), i:E. +mem (node L K R _) Cmp E :- Cmp E K O, mem.aux O Cmp L R E. +mem.aux eq _ _ _ _. +mem.aux lt Cmp L _ E :- mem L Cmp E. +mem.aux gt Cmp _ R E :- mem R Cmp E. + +pred remove-min-binding i:set E, o:set E. +remove-min-binding (node empty _ R _) R :- !. +remove-min-binding (node L E R _) X :- bal {remove-min-binding L} E R X. + +pred min-binding i:set E, o:E. +min-binding (node empty E _ _) E :- !. +min-binding (node L _ _ _) E :- min-binding L E. + +pred merge i:set E, i:set E, o:set E. +merge empty X X :- !. +merge X empty X :- !. +merge M1 M2 R :- + min-binding M2 X, + bal M1 X {remove-min-binding M2} R. + +pred remove i:set E, i:(E -> E -> cmp -> prop), i:E, o:set E. +remove empty _ _ empty. +remove (node L E R _) Cmp X M :- Cmp X E O, remove.aux O Cmp L R E X M. +remove.aux eq _ L R _ _ M :- merge L R M. +remove.aux lt Cmp L R E X M :- bal {remove L Cmp X} E R M. +remove.aux gt Cmp L R E X M :- bal L E {remove R Cmp X} M. + +pred cardinal i:set E, o:int. +cardinal empty 0. +cardinal (node L _ R _) N :- N is {cardinal L} + 1 + {cardinal R}. + +pred elements i:set E, i:list E, o:list E. +elements empty X X. +elements (node L E R _) Acc X :- + elements L [E|{elements R Acc}] X. + +} % std.set.private +} % std.set + + +% == Elpi runtime builtins ===================================== + +% [trace.counter Name Value] reads the Value of a trace point Name +external pred trace.counter i:string, o:int. + +% [gc.get MinorHeapSize MajorHeapIncrement SpaceOverhead Verbose MaxOverhead +% StackLimit AllocationPolicy WindowSize] Reads the current settings of the +% garbage collector. See also OCaml's Gc.control type documentation. +external pred gc.get o:int, o:int, o:int, o:int, o:int, o:int, o:int, + o:int. + +% [gc.set MinorHeapSize MajorHeapIncrement SpaceOverhead Verbose MaxOverhead +% StackLimit AllocationPolicy WindowSize] Writes the current settings of the +% garbage collector. Any parameter left unspecificed (eg _) is not changed. +% See also OCaml's Gc.control type documentation. +external pred gc.set i:int, i:int, i:int, i:int, i:int, i:int, i:int, + i:int. + +% [gc.minor] See OCaml's Gc.minor documentation. +external pred gc.minor . + +% [gc.major] See OCaml's Gc.major documentation. +external pred gc.major . + +% [gc.full] See OCaml's Gc.full_major documentation. +external pred gc.full . + +% [gc.compact] See OCaml's Gc.compact documentation. +external pred gc.compact . + +% [gc.stat MinorWords PromotedWords MajorWords MinorCollections +% MajorCollections HeapWords HeapChunks LiveWords LiveBlocks FreeWords +% FreeBlocks LargestFree Fragments Compactions TopHeapWords StackSize] See +% OCaml's Gc.stat documentation. +external pred gc.stat o:float, o:float, o:float, o:int, o:int, o:int, + o:int, o:int, o:int, o:int, o:int, o:int, o:int, + o:int, o:int, o:int. + +% [gc.quick-stat MinorWords PromotedWords MajorWords MinorCollections +% MajorCollections HeapWords HeapChunks Compactions TopHeapWords StackSize] +% See OCaml's Gc.quick_stat documentation. +external pred gc.quick-stat o:float, o:float, o:float, o:int, o:int, + o:int, o:int, o:int, o:int, o:int. + + + + diff --git a/lambdapi.opam b/lambdapi.opam index 4557e1b92..0bb6353fa 100644 --- a/lambdapi.opam +++ b/lambdapi.opam @@ -62,7 +62,7 @@ depends: [ "cmdliner" {>= "1.1.0"} "stdlib-shims" {>= "0.1.0"} "odoc" {with-doc} - "elpi" { >= "1.16.0" & < "1.17.0" } + "elpi" { >= "1.16.6" & < "1.17.0" } ] build: [ ["dune" "subst"] {dev} diff --git a/out/Coq__Arith__Arith__base.dk b/out/Coq__Arith__Arith__base.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Arith__Arith__base.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Arith__Between.dk b/out/Coq__Arith__Between.dk new file mode 100644 index 000000000..f47ebbcb1 --- /dev/null +++ b/out/Coq__Arith__Between.dk @@ -0,0 +1,2513 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def between : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +def bet__emp : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (between P k k). + +def bet__S : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (between P k (Coq__Init__Datatypes.S l)). + +[ ] cupicef.code_guarded? _ (bet__emp _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (bet__S _ _ _ _ _) --> cupicef.guarded. + +def match____between : + s : cupicef.Sort -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (between P k __) -> + cupicef.Univ s) -> + case__bet__emp : cupicef.Term s (P0 k (bet__emp P k)) -> + case__bet__S : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term s (P0 (Coq__Init__Datatypes.S l) (bet__S P k l __ __0))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.prop (between P k __) -> + cupicef.Term s (P0 __ x). + +[ s, P, k, P0, case__bet__emp, case__bet__S] + match____between s P k P0 case__bet__emp case__bet__S {k} (bet__emp P k) + --> + case__bet__emp. + +[ s, P, k, P0, case__bet__emp, case__bet__S, l, __, __0] + match____between s P k P0 case__bet__emp case__bet__S + {Coq__Init__Datatypes.S l} (bet__S P k l __ __0) + --> + case__bet__S l __ __0. + +[ s, P, k, P0, s'] + match____between s P k + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ x))) + --> + match____between s' P k (__ => x => P0 __ x). + +def between__ind : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P0 k) -> + f0 : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : cupicef.Term cupicef.prop (P0 l) -> + __1 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P0 (Coq__Init__Datatypes.S l))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.prop (between P k n) -> + cupicef.Term cupicef.prop (P0 n) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P0 k) => + f0 : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : cupicef.Term cupicef.prop (P0 l) -> + __1 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P0 (Coq__Init__Datatypes.S l))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (between P k n) + (b : cupicef.Term cupicef.prop (between P k n) => P0 n))))) + (c => + c + (F => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.prop (between P k n) => + match____between cupicef.prop P k + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (between P k n0) => + P0 n0) + f + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b0 : cupicef.Term cupicef.prop (between P k l) => + p : cupicef.Term cupicef.prop (P l) => + f0 l b0 (F l b0) p) + n b)) + cupicef.0. + +thm bet__eq : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l k) -> + cupicef.Term cupicef.prop (between P k l) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l k) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + between P k l0) + (bet__emp P k) l H. + +thm between__le : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + between__ind P k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le k l0) + (Coq__Init__Peano.le__n k) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => + H1 : cupicef.Term cupicef.prop (P l0) => + Coq__Init__Peano.le__S k l0 IHbetween) + l H. + +thm between__Sk__l : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l) -> + cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + between__ind P k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) => + between P (Coq__Init__Datatypes.S k) l0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) => + bet__eq P (Coq__Init__Datatypes.S k) k + (Coq__Arith__PeanoNat.Nat__le__antisymm k (Coq__Init__Datatypes.S k) + (Coq__Arith__PeanoNat.Nat__le__succ__diag__r k) H0)) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + match____between cupicef.prop P k + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (between P k n) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) => + between P (Coq__Init__Datatypes.S k) n)) + (__0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) -> + cupicef.Term cupicef.prop + (between P (Coq__Init__Datatypes.S k) n)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P n) + (__1 : cupicef.Term cupicef.prop (P n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S n)) + (__2 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S n)) => + between P (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S n))))) + (IHbetween : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) -> + cupicef.Term cupicef.prop + (between P (Coq__Init__Datatypes.S k) k)) => + H1 : cupicef.Term cupicef.prop (P k) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S k)) => + bet__emp P (Coq__Init__Datatypes.S k)) + (l1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : cupicef.Term cupicef.prop (between P k l1) => + H2 : cupicef.Term cupicef.prop (P l1) => + IHbetween : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S l1)) -> + cupicef.Term cupicef.prop + (between P (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S l1))) => + H3 : cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l1)) => + H4 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S l1))) => + bet__S P (Coq__Init__Datatypes.S k) (Coq__Init__Datatypes.S l1) + (IHbetween (Coq__Arith__Le.le__n__S k l1 (between__le P k l1 H1))) + H3) + l0 H0) + l H. + +thm between__restr : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le l m) -> + __1 : cupicef.Term cupicef.prop (between P k m) -> + cupicef.Term cupicef.prop (between P l m) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + Coq__Init__Peano.le__ind k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le l0 m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le l0 m) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (between P k m) + (__0 : cupicef.Term cupicef.prop (between P k m) => between P l0 m))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => + H1 : cupicef.Term cupicef.prop (between P k m) => + H1) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m0) => + IHle : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 m) -> + __0 : cupicef.Term cupicef.prop (between P k m) -> + cupicef.Term cupicef.prop (between P m0 m)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m) => + H2 : cupicef.Term cupicef.prop (between P k m) => + between__Sk__l P m0 m + (IHle (Coq__Arith__PeanoNat.Nat__lt__le__incl m0 m H1) H2) H1) + l H. + +def exists__between : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +def exists__S : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + cupicef.Term cupicef.prop (exists__between Q k (Coq__Init__Datatypes.S l)). + +def exists__le : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (exists__between Q k (Coq__Init__Datatypes.S l)). + +[ ] cupicef.code_guarded? _ (exists__S _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (exists__le _ _ _ _ _) --> cupicef.guarded. + +def match____exists__between : + s : cupicef.Sort -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (exists__between Q k __) -> + cupicef.Univ s) -> + case__exists__S : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + cupicef.Term s (P (Coq__Init__Datatypes.S l) (exists__S Q k l __))) -> + case__exists__le : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term s (P (Coq__Init__Datatypes.S l) (exists__le Q k l __ __0))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.prop (exists__between Q k __) -> + cupicef.Term s (P __ x). + +[ s, Q, k, P, case__exists__S, case__exists__le, l, __] + match____exists__between s Q k P case__exists__S case__exists__le + {Coq__Init__Datatypes.S l} (exists__S Q k l __) + --> + case__exists__S l __. + +[ s, Q, k, P, case__exists__S, case__exists__le, l, __, __0] + match____exists__between s Q k P case__exists__S case__exists__le + {Coq__Init__Datatypes.S l} (exists__le Q k l __ __0) + --> + case__exists__le l __ __0. + +[ s, Q, k, P, s'] + match____exists__between s Q k + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____exists__between s' Q k (__ => x => P __ x). + +def exists__between__ind : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + f : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + __0 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) -> + f0 : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + e : cupicef.Term cupicef.prop (exists__between Q k n) -> + cupicef.Term cupicef.prop (P n) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + f : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + __0 : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) => + f0 : + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (exists__between Q k n) + (e : cupicef.Term cupicef.prop (exists__between Q k n) => + P n))))) + (c => + c + (F => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + e : cupicef.Term cupicef.prop (exists__between Q k n) => + match____exists__between cupicef.prop Q k + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (exists__between Q k n0) => + P n0) + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + e0 : cupicef.Term cupicef.prop (exists__between Q k l) => + f l e0 (F l e0)) + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + q : cupicef.Term cupicef.prop (Q l) => + f0 l l0 q) + n e)) + cupicef.0. + +thm exists__le__S : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (exists__between Q k l) => + exists__between__ind Q k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (exists__between Q k l0) => + IHexists__between : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) => + Coq__Init__Peano.le__S (Coq__Init__Datatypes.S k) l0 IHexists__between) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => + H1 : cupicef.Term cupicef.prop (Q l0) => + Coq__Arith__Le.le__n__S k l0 H0) + l H. + +thm exists__lt : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt k l) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + exists__le__S Q. + +thm exists__S__le : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l)) => + Coq__Arith__Le.le__S__n k l + (exists__le__S Q k (Coq__Init__Datatypes.S l) H). + +def in__int : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.le p r) (Coq__Init__Peano.lt r q). + +thm in__int__intro : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) -> + cupicef.Term cupicef.prop (in__int p q r) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => + Coq__Init__Logic.conj (Coq__Init__Peano.le p r) (Coq__Init__Peano.lt r q) + H H0. + +thm in__int__lt : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int p q r) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt p q) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int p q r) => + Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r q) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r q)) => + Coq__Init__Peano.lt p q) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => + Coq__Arith__PeanoNat.Nat__le__lt__trans p r q H0 H1) + H. + +def let__o : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt r q) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q)) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) => + Coq__Arith__Lt.le__lt__or__eq r q (Coq__Arith__Lt.lt__n__Sm__le r q H1). + +thm in__int__p__Sq : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (in__int p q r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q)) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) => + Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q))) => + Coq__Init__Logic.or (in__int p q r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) => + Coq__Init__Logic.match____or cupicef.prop (Coq__Init__Peano.lt r q) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt r q) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q)) => + Coq__Init__Logic.or (in__int p q r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => + Coq__Init__Logic.or__introl (in__int p q r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q) + (in__int__intro p q r H0 H2)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q) => + Coq__Init__Logic.or__intror (in__int p q r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r q) + H2) + (let__o p q r H H0 H1)) + H. + +thm in__int__S : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int p q r) -> + cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int p q r) => + Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r q) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le p r) + (Coq__Init__Peano.lt r q)) => + in__int p (Coq__Init__Datatypes.S q) r) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => + in__int__intro p (Coq__Init__Datatypes.S q) r H0 + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S r) + (Coq__Init__Datatypes.S q)) + (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) cupicef.I + (Coq__Init__Peano.le__S (Coq__Init__Datatypes.S r) q H1))) + H. + +thm in__int__Sp__q : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int (Coq__Init__Datatypes.S p) q r) -> + cupicef.Term cupicef.prop (in__int p q r) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int (Coq__Init__Datatypes.S p) q r) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) + (Coq__Init__Peano.lt r q) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) + (Coq__Init__Peano.lt r q)) => + in__int p q r) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => + in__int__intro p q r (Coq__Arith__PeanoNat.Nat__lt__le__incl p r H0) H1) + H. + +def let__o0 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (between P k l) -> + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (between P k l0) -> + IHbetween : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 r) -> + cupicef.Term cupicef.prop (P r)) -> + H1 : cupicef.Term cupicef.prop (P l0) -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H2 : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (in__int k l0 r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r l0)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 r) -> + cupicef.Term cupicef.prop (P r)) => + H1 : cupicef.Term cupicef.prop (P l0) => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H2 : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) => + in__int__p__Sq k l0 r H2. + +thm between__in__int : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (in__int k l r) -> + cupicef.Term cupicef.prop (P r) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + between__ind P k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (in__int k l0 r) + (__ : cupicef.Term cupicef.prop (in__int k l0 r) => P r))) + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (in__int k k r) => + Coq__Init__Logic.False__ind (P r) + (Coq__Arith__PeanoNat.Nat__lt__irrefl k (in__int__lt k k r H0))) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 r) -> + cupicef.Term cupicef.prop (P r)) => + H1 : cupicef.Term cupicef.prop (P l0) => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H2 : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) => + Coq__Init__Logic.match____or cupicef.prop (in__int k l0 r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r l0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (in__int k l0 r) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r l0)) => + P r) + (H3 : cupicef.Term cupicef.prop (in__int k l0 r) => IHbetween r H3) + (H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + r l0) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l0 + (r0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (in__int k (Coq__Init__Datatypes.S l0) r0) + (H4 : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) r0) => + P r0)) + (H4 : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) l0) => + H1) + r H3 H2) + (let__o0 P k l H l0 H0 IHbetween H1 r H2)) + l H. + +thm in__int__between : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (in__int k l r) -> + cupicef.Term cupicef.prop (P r)) -> + cupicef.Term cupicef.prop (between P k l) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + Coq__Init__Peano.le__ind k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (in__int k l0 r) + (__ : cupicef.Term cupicef.prop (in__int k l0 r) => P r))) + (__ : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 r) -> + cupicef.Term cupicef.prop (P r)) => + between P k l0)) + (H0 : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k k r) -> + cupicef.Term cupicef.prop (P r)) => + bet__emp P k) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => + IHle : + (__ : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m r) -> + cupicef.Term cupicef.prop (P r)) -> + cupicef.Term cupicef.prop (between P k m)) => + H1 : + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) r) -> + cupicef.Term cupicef.prop (P r)) => + bet__S P k m + (IHle + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H2 : cupicef.Term cupicef.prop (in__int k m r) => + H1 r (in__int__S k m r H2))) + (H1 m + (in__int__intro k (Coq__Init__Datatypes.S m) m H0 + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) + (Coq__Init__Datatypes.S m)) + (Coq__Init__Peano.lt m (Coq__Init__Datatypes.S m)) cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S m)))))) + l H. + +thm exists__in__int : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (exists__between Q k l) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k l m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (exists__between Q k l) => + exists__between__ind Q k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k l0 m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (exists__between Q k l0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k l0 m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) => + Coq__Init__Logic.match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k l0 m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k l0 m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) => + Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H2 : cupicef.Term cupicef.prop (in__int k l0 p) => + H3 : cupicef.Term cupicef.prop (Q p) => + Coq__Init__Logic.ex__intro2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) p + (in__int__S k l0 p H2) H3) + H1) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => + H1 : cupicef.Term cupicef.prop (Q l0) => + Coq__Init__Logic.ex__intro2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) l0 + (in__int__intro k (Coq__Init__Datatypes.S l0) l0 H0 + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S l0) + (Coq__Init__Datatypes.S l0)) + (Coq__Init__Peano.lt l0 (Coq__Init__Datatypes.S l0)) cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S l0)))) + H1) + l H. + +thm in__int__exists : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l r) -> + __0 : cupicef.Term cupicef.prop (Q r) -> + cupicef.Term cupicef.prop (exists__between Q k l) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (in__int k l r) => + Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le k r) + (Coq__Init__Peano.lt r l) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le k r) + (Coq__Init__Peano.lt r l)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (Q r) + (__0 : cupicef.Term cupicef.prop (Q r) => exists__between Q k l)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k r) => + lt__r__l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r l) => + H1 : cupicef.Term cupicef.prop (Q r) => + Coq__Init__Peano.le__ind (Coq__Init__Datatypes.S r) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + exists__between Q k l0) + (exists__le Q k r H0 H1) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + lt__r__l0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S r) m) => + IHlt__r__l : cupicef.Term cupicef.prop (exists__between Q k m) => + exists__S Q k m IHlt__r__l) + l lt__r__l) + H. + +def let__o1 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) -> + IHle : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) -> + P__or__Q : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => + IHle : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => + P__or__Q : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => + IHle + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : cupicef.Term cupicef.prop (in__int k m n) => + P__or__Q n (in__int__S k m n H1)). + +def let__o2 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) -> + IHle : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) -> + P__or__Q : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + H1 : cupicef.Term cupicef.prop (between P k m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P m) (Q m)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => + IHle : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => + P__or__Q : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => + H1 : cupicef.Term cupicef.prop (between P k m) => + P__or__Q m + (in__int__intro k (Coq__Init__Datatypes.S m) m H0 + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) + (Coq__Init__Datatypes.S m)) + (Coq__Init__Peano.lt m (Coq__Init__Datatypes.S m)) cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S m)))). + +thm between__or__exists : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> + __0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (in__int k l n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k l) (exists__between Q k l)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => + Coq__Init__Peano.le__ind k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (in__int k l0 n) + (__ : cupicef.Term cupicef.prop (in__int k l0 n) => + Coq__Init__Logic.or (P n) (Q n)))) + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => + Coq__Init__Logic.or (between P k l0) (exists__between Q k l0))) + (H0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k k n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => + Coq__Init__Logic.or__introl (between P k k) (exists__between Q k k) + (bet__emp P k)) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => + IHle : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k m n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => + P__or__Q : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => + Coq__Init__Logic.match____or cupicef.prop (between P k m) + (exists__between Q k m) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (between P k m) (exists__between Q k m)) => + Coq__Init__Logic.or (between P k (Coq__Init__Datatypes.S m)) + (exists__between Q k (Coq__Init__Datatypes.S m))) + (H1 : cupicef.Term cupicef.prop (between P k m) => + Coq__Init__Logic.match____or cupicef.prop (P m) (Q m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (P m) (Q m)) => + Coq__Init__Logic.or (between P k (Coq__Init__Datatypes.S m)) + (exists__between Q k (Coq__Init__Datatypes.S m))) + (H2 : cupicef.Term cupicef.prop (P m) => + Coq__Init__Logic.or__introl + (between P k (Coq__Init__Datatypes.S m)) + (exists__between Q k (Coq__Init__Datatypes.S m)) + (bet__S P k m H1 H2)) + (H2 : cupicef.Term cupicef.prop (Q m) => + Coq__Init__Logic.or__intror + (between P k (Coq__Init__Datatypes.S m)) + (exists__between Q k (Coq__Init__Datatypes.S m)) + (exists__le Q k m H0 H2)) + (let__o2 P Q k l H m H0 IHle P__or__Q H1)) + (H1 : cupicef.Term cupicef.prop (exists__between Q k m) => + Coq__Init__Logic.or__intror (between P k (Coq__Init__Datatypes.S m)) + (exists__between Q k (Coq__Init__Datatypes.S m)) + (exists__S Q k m H1)) + (let__o1 P Q k l H m H0 IHle P__or__Q)) + l H. + +def let__e : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (between P k l) -> + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (between P k l0) -> + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) -> + H1 : cupicef.Term cupicef.prop (P l0) -> + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) => + H1 : cupicef.Term cupicef.prop (P l0) => + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) => + exists__in__int Q k (Coq__Init__Datatypes.S l0) H3. + +def let__o3 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (between P k l) -> + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (between P k l0) -> + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) -> + H1 : cupicef.Term cupicef.prop (P l0) -> + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) -> + l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H4 : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) -> + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) -> + H7 : cupicef.Term cupicef.prop (Q l_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt l_27_ l0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) => + H1 : cupicef.Term cupicef.prop (P l0) => + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) => + l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H4 : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) => + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) => + H7 : cupicef.Term cupicef.prop (Q l_27_) => + Coq__Arith__Lt.le__lt__or__eq l_27_ l0 + (Coq__Arith__Lt.lt__n__Sm__le l_27_ l0 H6). + +def let__H6 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (between P k l) -> + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (between P k l0) -> + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) -> + H1 : cupicef.Term cupicef.prop (P l0) -> + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) -> + l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H4 : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) -> + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) -> + H7 : cupicef.Term cupicef.prop (Q l_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) => + H1 : cupicef.Term cupicef.prop (P l0) => + H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) => + l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H4 : + cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) => + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) => + H7 : cupicef.Term cupicef.prop (Q l_27_) => + Coq__Init__Logic.match____or cupicef.prop (Coq__Init__Peano.lt l_27_ l0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt l_27_ l0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0) + (H8 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt l_27_ l0) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0) + (IHbetween + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H9 : cupicef.Term cupicef.prop (in__int k l0 n) => + H10 : cupicef.Term cupicef.prop (P n) => + H2 n (in__int__S k l0 n H9) H10) + (in__int__exists Q k l0 l_27_ (in__int__intro k l0 l_27_ H5 H8) H7))) + (H8 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ l0) => + H8) + (let__o3 P Q k l H l0 H0 IHbetween H1 H2 H3 l_27_ H4 H5 H6 H7). + +thm between__not__exists : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (between P k l) -> + __0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (in__int k l n) -> + __1 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (exists__between Q k l)) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (between P k l) => + between__ind P k + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (in__int k l0 n) + (__ : cupicef.Term cupicef.prop (in__int k l0 n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n) + (__0 : cupicef.Term cupicef.prop (P n) => + Coq__Init__Logic.not (Q n))))) + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + Coq__Init__Logic.not (exists__between Q k l0))) + (cupicef.cast + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + (cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (in__int k k n) + (__ : cupicef.Term cupicef.prop (in__int k k n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n) + (__0 : cupicef.Term cupicef.prop (P n) => + Coq__Init__Logic.not (Q n))))) + (H0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k k n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (exists__between Q k k) + (H1 : cupicef.Term cupicef.prop (exists__between Q k k) => + Coq__Init__Logic.False))) + (cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (in__int k k n) + (__ : cupicef.Term cupicef.prop (in__int k k n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n) + (__0 : cupicef.Term cupicef.prop (P n) => + Coq__Init__Logic.not (Q n))))) + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k k n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + Coq__Init__Logic.not (exists__between Q k k))) + cupicef.I + (H0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k k n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + H1 : cupicef.Term cupicef.prop (exists__between Q k k) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (Coq__Arith__PeanoNat.Nat__lt__irrefl k + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) + (Coq__Init__Peano.lt k k) cupicef.I (exists__le__S Q k k H1))))) + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (between P k l0) => + IHbetween : + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (in__int k l0 n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (exists__between Q k l0))) => + H1 : cupicef.Term cupicef.prop (P l0) => + cupicef.cast + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + (cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (in__int k (Coq__Init__Datatypes.S l0) n) + (__ : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n) + (__0 : cupicef.Term cupicef.prop (P n) => + Coq__Init__Logic.not (Q n))))) + (H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (exists__between Q k (Coq__Init__Datatypes.S l0)) + (H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) => + Coq__Init__Logic.False))) + (cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (in__int k (Coq__Init__Datatypes.S l0) n) + (__ : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) n) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n) + (__0 : cupicef.Term cupicef.prop (P n) => + Coq__Init__Logic.not (Q n))))) + (__ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + Coq__Init__Logic.not + (exists__between Q k (Coq__Init__Datatypes.S l0)))) + cupicef.I + (H2 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) n) -> + __0 : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => + H3 : + cupicef.Term cupicef.prop + (exists__between Q k (Coq__Init__Datatypes.S l0)) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (H2 l0 + (in__int__intro k (Coq__Init__Datatypes.S l0) l0 + (exists__S__le Q k l0 H3) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S l0) + (Coq__Init__Datatypes.S l0)) + (Coq__Init__Peano.lt l0 (Coq__Init__Datatypes.S l0)) + cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S l0)))) + H1 + (Coq__Init__Logic.match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Q m) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + in__int k (Coq__Init__Datatypes.S l0) m) + (m : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Q m)) => + Q l0) + (l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H4 : + cupicef.Term cupicef.prop + (in__int k (Coq__Init__Datatypes.S l0) l_27_) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Peano.le k l_27_) + (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le k l_27_) + (Coq__Init__Peano.lt l_27_ + (Coq__Init__Datatypes.S l0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Q l_27_) + (__0 : cupicef.Term cupicef.prop (Q l_27_) => Q l0)) + (H5 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le k l_27_) => + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt l_27_ + (Coq__Init__Datatypes.S l0)) => + H7 : cupicef.Term cupicef.prop (Q l_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + l_27_ + (l1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Q l1) + H7 l0 + (let__H6 P Q k l H l0 H0 IHbetween H1 H2 H3 l_27_ H4 + H5 H6 H7)) + H4) + (let__e P Q k l H l0 H0 IHbetween H1 H2 H3))))) + l H. + +def P__nth : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +def nth__O : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P__nth P Q init init Coq__Init__Datatypes.O). + +def nth__S : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> + __0 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> + __1 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (P__nth P Q init l (Coq__Init__Datatypes.S n)). + +[ ] cupicef.code_guarded? _ (nth__O _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (nth__S _ _ _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____P__nth : + s : cupicef.Sort -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P__nth P Q init __ __0) -> + cupicef.Univ s) -> + case__nth__O : + cupicef.Term s (P0 init Coq__Init__Datatypes.O (nth__O P Q init)) -> + case__nth__S : + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> + __0 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> + __1 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term s + (P0 l (Coq__Init__Datatypes.S n) (nth__S P Q init k l n __ __0 __1))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.prop (P__nth P Q init __ __0) -> + cupicef.Term s (P0 __ __0 x). + +[ s, P, Q, init, P0, case__nth__O, case__nth__S] + match____P__nth s P Q init P0 case__nth__O case__nth__S {init} + {Coq__Init__Datatypes.O} (nth__O P Q init) + --> + case__nth__O. + +[ s, P, Q, init, P0, case__nth__O, case__nth__S, k, l, n, __, __0, __1] + match____P__nth s P Q init P0 case__nth__O case__nth__S {l} + {Coq__Init__Datatypes.S n} (nth__S P Q init k l n __ __0 __1) + --> + case__nth__S k l n __ __0 __1. + +[ s, P, Q, init, P0, s'] + match____P__nth s P Q init + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ __0 x))) + --> + match____P__nth s' P Q init (__ => __0 => x => P0 __ __0 x). + +def P__nth__ind : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P0 init Coq__Init__Datatypes.O) -> + f0 : + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> + __0 : cupicef.Term cupicef.prop (P0 k n) -> + __1 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> + __2 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (P0 l (Coq__Init__Datatypes.S n))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.prop (P__nth P Q init n n0) -> + cupicef.Term cupicef.prop (P0 n n0) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P0 init Coq__Init__Datatypes.O) => + f0 : + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> + __0 : cupicef.Term cupicef.prop (P0 k n) -> + __1 : + cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> + __2 : cupicef.Term cupicef.prop (Q l) -> + cupicef.Term cupicef.prop (P0 l (Coq__Init__Datatypes.S n))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P__nth P Q init n n0) + (p : cupicef.Term cupicef.prop (P__nth P Q init n n0) => + P0 n n0)))))) + (c => + c + (F => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.prop (P__nth P Q init n n0) => + match____P__nth cupicef.prop P Q init + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (P__nth P Q init n1 n2) => + P0 n1 n2) + f + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.prop (P__nth P Q init k n1) => + b : + cupicef.Term cupicef.prop + (between P (Coq__Init__Datatypes.S k) l) => + q : cupicef.Term cupicef.prop (Q l) => + f0 k l n1 p0 (F k n1 p0) b q) + n n0 p)) + cupicef.0. + +thm nth__le : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P__nth P Q init l n) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le init l) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (P__nth P Q init l n) => + P__nth__ind P Q init + (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le init l0) + (Coq__Init__Peano.le__n init) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (P__nth P Q init k n0) => + IHP__nth : cupicef.Term cupicef.prop (Coq__Init__Peano.le init k) => + H1 : + cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l0) => + H2 : cupicef.Term cupicef.prop (Q l0) => + Coq__Arith__PeanoNat.Nat__le__trans init k l0 IHP__nth + (Coq__Arith__PeanoNat.Nat__le__trans k k l0 + (Coq__Init__Peano.le__n k) + (Coq__Arith__PeanoNat.Nat__le__trans k k l0 + (Coq__Init__Peano.le__n k) + (Coq__Arith__PeanoNat.Nat__le__trans k k l0 + (Coq__Init__Peano.le__n k) + (Coq__Arith__PeanoNat.Nat__le__trans k + (Coq__Init__Datatypes.S k) l0 + (Coq__Arith__PeanoNat.Nat__le__succ__diag__r k) + (between__le P (Coq__Init__Datatypes.S k) l0 H1)))))) + l n H. + +def eventually : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le k n) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k). + +def let__H1 : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le x Coq__Init__Datatypes.O) -> + H1 : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x Coq__Init__Datatypes.O) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le x Coq__Init__Datatypes.O) => + H1 : cupicef.Term cupicef.prop (Q x) => + Coq__Arith__PeanoNat.Nat__le__antisymm x Coq__Init__Datatypes.O H0 + (Coq__Arith__PeanoNat.Nat__le__0__l x). + +thm event__O : + Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop (Q Coq__Init__Datatypes.O) + +:= Q : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) => + Coq__Init__Logic.match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le k Coq__Init__Datatypes.O) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le k Coq__Init__Datatypes.O) + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k)) => + Q Coq__Init__Datatypes.O) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le x Coq__Init__Datatypes.O) => + H1 : cupicef.Term cupicef.prop (Q x) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q n) H1 + Coq__Init__Datatypes.O (let__H1 Q H x H0 H1)) + H. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Compare__dec.dk b/out/Coq__Arith__Compare__dec.dk new file mode 100644 index 000000000..561ce601f --- /dev/null +++ b/out/Coq__Arith__Compare__dec.dk @@ -0,0 +1,5066 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def zerop : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + cupicef.I (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))) + n. + +def let__s : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (Coq__Init__Peano.lt m0 n0))) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1)) + (Coq__Init__Peano.lt m1 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (Coq__Init__Peano.lt m0 n0))) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn m1. + +def lt__eq__lt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__rec + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (Coq__Init__Peano.lt m0 n0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) + (Coq__Init__Peano.lt n0 Coq__Init__Datatypes.O)) + (Coq__Init__Specif.inleft + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O))) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Specif.right + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.inleft + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + Coq__Init__Datatypes.O) + (Coq__Init__Specif.left + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + cupicef.I + (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1) (Coq__Arith__Gt.gt__Sn__O m1))))) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (Coq__Init__Peano.lt m0 n0))) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) n1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n1)) + (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n0))) + (Coq__Init__Specif.inright + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O))) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + cupicef.I (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.match____sumor cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1))) + (Coq__Init__Peano.lt m1 n0) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1)) + (Coq__Init__Peano.lt m1 n0)) => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0))) + (H : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1)) => + Coq__Init__Specif.match____sumbool cupicef.set + (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1)) => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0))) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m1) => + Coq__Init__Specif.inleft + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Specif.left + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n0)) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + cupicef.I + (Coq__Arith__Le.le__n__S (Coq__Init__Datatypes.S n0) + m1 l)))) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m1) => + Coq__Init__Specif.inleft + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Specif.right + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.f__equal__nat + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S n0 m1 e))) + H) + (H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m1 n0) => + Coq__Init__Specif.inright + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)))) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Gt.gt__le__S (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + cupicef.I + (Coq__Arith__Lt.le__lt__n__Sm + (Coq__Init__Datatypes.S m1) n0 H))))) + (let__s n m n0 IHn m0 m1)) + m0) + n m. + +def gt__eq__gt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.gt m n) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.gt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + lt__eq__lt__dec n m. + +def le__lt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__rec + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.left (Coq__Init__Peano.le Coq__Init__Datatypes.O m0) + (Coq__Init__Peano.lt m0 Coq__Init__Datatypes.O) + (Coq__Arith__PeanoNat.Nat__le__0__l m0)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m0) + (Coq__Init__Peano.lt m0 n0))) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) n1) + (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n0))) + (Coq__Init__Specif.right + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Lt.lt__le__S Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S n0) + (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool__rec (Coq__Init__Peano.le n0 m1) + (Coq__Init__Peano.lt m1 n0) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m1) + (Coq__Init__Peano.lt m1 n0)) => + Coq__Init__Specif.sumbool + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0))) + (a : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m1) => + Coq__Init__Specif.left + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (Coq__Arith__Gt.gt__le__S n0 (Coq__Init__Datatypes.S m1) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m1) n0) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m1)) + cupicef.I (Coq__Arith__Le.le__n__S n0 m1 a))))) + (b : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m1 n0) => + Coq__Init__Specif.right + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + cupicef.I + (Coq__Arith__Gt.gt__le__S (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + cupicef.I (Coq__Arith__Lt.lt__n__S m1 n0 b))))) + (IHn m1)) + m0) + n m. + +def le__le__S__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__lt__dec n m. + +def le__ge__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.ge n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool__rec (Coq__Init__Peano.le n m) + (Coq__Init__Peano.lt m n) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.ge n m)) + (a : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Specif.left (Coq__Init__Peano.le n m) + (Coq__Init__Peano.ge n m) a) + (b : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Specif.right (Coq__Init__Peano.le n m) + (Coq__Init__Peano.ge n m) + (cupicef.cast cupicef.prop cupicef.prop (Coq__Init__Peano.le m n) + (Coq__Init__Peano.ge n m) cupicef.I + (Coq__Arith__PeanoNat.Nat__lt__le__incl m n b))) + (le__lt__dec n m). + +def le__gt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.gt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__lt__dec n m. + +def let__s0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + lt__eq__lt__dec n m. + +def le__lt__eq__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Specif.match____sumor cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) + (Coq__Init__Peano.lt m n) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + s0) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Logic.False__rec + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Arith__Lt.le__not__lt n m H l)) + (let__s0 n m H). + +def let__s1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.gt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__gt__dec n m. + +def le__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.match____sumbool cupicef.set (Coq__Init__Peano.le n m) + (Coq__Init__Peano.gt n m) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Peano.gt n m)) => + Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Specif.left (Coq__Init__Peano.le n m) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) l) + (g : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => + Coq__Init__Specif.right (Coq__Init__Peano.le n m) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) + (Coq__Arith__Gt.gt__not__le n m g)) + (let__s1 n m). + +def lt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.not (Coq__Init__Peano.lt n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__dec (Coq__Init__Datatypes.S n) m. + +def gt__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.gt n m) + (Coq__Init__Logic.not (Coq__Init__Peano.gt n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + lt__dec m n. + +def ge__dec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.ge n m) + (Coq__Init__Logic.not (Coq__Init__Peano.ge n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__dec m n. + +thm dec__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Logic__Decidable.decidable (Coq__Init__Peano.le n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__le__decidable n m. + +thm dec__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Logic__Decidable.decidable (Coq__Init__Peano.lt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__decidable n m. + +thm dec__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Logic__Decidable.decidable (Coq__Init__Peano.gt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__decidable m n. + +thm dec__ge : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Logic__Decidable.decidable (Coq__Init__Peano.ge n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__le__decidable m n. + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__lt__gt__cases n0 m0). + +thm not__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m n m. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__nle__gt n0 m0). + +thm not__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m n m. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__nlt__ge n0 m0). + +thm not__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.gt n m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H1 n m m n. + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => + Coq__Init__Peano.lt m0 n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__nle__gt n0 m0). + +thm not__ge : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.ge n m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H2 n m m n. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => + Coq__Init__Peano.le m0 n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__nlt__ge n0 m0). + +thm not__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt n m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.ge n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H3 n m n m. + +thm nat__compare__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Classes__RelationClasses.symmetry + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt) + (Coq__Init__Peano.lt n m) + (Coq__Arith__PeanoNat.Nat__compare__lt__iff n m). + +thm nat__compare__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Coq__Init__Peano.gt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Classes__RelationClasses.symmetry + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt) + (Coq__Init__Peano.gt n m) + (Coq__Arith__PeanoNat.Nat__compare__gt__iff n m). + +thm nat__compare__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Coq__Init__Peano.le n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Classes__RelationClasses.symmetry + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) + (Coq__Init__Peano.le n m) + (Coq__Arith__PeanoNat.Nat__compare__le__iff n m). + +thm nat__compare__ge : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Coq__Init__Peano.ge n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Classes__RelationClasses.symmetry + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt)) + (Coq__Init__Peano.ge n m) + (Coq__Arith__PeanoNat.Nat__compare__ge__iff n m). + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq)) => + __) + (Coq__Arith__PeanoNat.Nat__compare__eq__iff n0 m0). + +thm nat__compare__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Eq) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H4 n m n m. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt)) => + __) + (Coq__Arith__PeanoNat.Nat__compare__lt__iff n0 m0). + +thm nat__compare__Lt__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H5 n m n m. + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) => + Coq__Init__Peano.lt y x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt y x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) => + Coq__Init__Peano.lt y x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt y x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) => + Coq__Init__Peano.lt y x)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) => + __) + (Coq__Arith__PeanoNat.Nat__compare__gt__iff x y). + +thm nat__compare__Gt__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H6 n m n m. + +def nat__compare__alt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.match____sumor cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) + (Coq__Init__Peano.lt m n) + (x : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Datatypes.comparison) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Specif.match____sumbool cupicef.set + (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Datatypes.comparison) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + Coq__Init__Datatypes.Lt) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Datatypes.Eq) + s) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Datatypes.Gt) + (lt__eq__lt__dec n m). + +def let__s2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + lt__eq__lt__dec n m. + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) -> + l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Lt)) => + __0) + (Coq__Arith__PeanoNat.Nat__compare__lt__iff n0 m0). + +def let__H8 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) -> + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n0 m0) + Coq__Init__Datatypes.Eq)) => + __0) + (Coq__Arith__PeanoNat.Nat__compare__eq__iff n0 m0). + +def let__H9 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) => + Coq__Init__Peano.lt y x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt y x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) => + Coq__Init__Peano.lt y x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt y x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt y x) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) + Coq__Init__Datatypes.Gt) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) => + __0) + (Coq__Arith__PeanoNat.Nat__compare__gt__iff x y). + +thm nat__compare__equiv : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) (nat__compare__alt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) + (Coq__Init__Specif.match____sumor cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) + (Coq__Init__Peano.lt m n) + (x : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Datatypes.comparison) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Specif.match____sumbool cupicef.set + (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Datatypes.comparison) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + Coq__Init__Datatypes.Lt) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Datatypes.Eq) + s) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Datatypes.Gt) + (lt__eq__lt__dec n m))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) (nat__compare__alt n m)) + cupicef.I + (Coq__Init__Specif.match____sumor cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) + (Coq__Init__Peano.lt m n) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) + (Coq__Init__Specif.match____sumor cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) + (Coq__Init__Peano.lt m n) + (x : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (Coq__Init__Peano.lt m n)) => + Coq__Init__Datatypes.comparison) + (s1 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Specif.match____sumbool cupicef.set + (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (s2 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Datatypes.comparison) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + Coq__Init__Datatypes.Lt) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Datatypes.Eq) + s1) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Datatypes.Gt) + s0)) + (s0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Specif.match____sumbool cupicef.prop + (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (s1 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) + (Coq__Init__Specif.match____sumbool cupicef.set + (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (s2 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Datatypes.comparison) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + Coq__Init__Datatypes.Lt) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Datatypes.Eq) + s1)) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + let__H7 n m s0 l n m l) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + let__H8 n m s0 e n m e) + s0) + (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + let__H9 n m l n m l) + (let__s2 n m)). + +thm leb__iff__conv : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) + (Coq__Init__Peano.lt m n)) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + (lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) => + Coq__Classes__Morphisms.trans__co__eq__inv__impl__morphism + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Transitive + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) lemma + (Coq__Init__Peano.lt m n) (Coq__Init__Peano.lt m n) + (Coq__Classes__Morphisms.eq__proper__proxy + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Init__Peano.lt m n))) + (Coq__Arith__PeanoNat.Nat__leb__nle n m) + (Coq__Arith__PeanoNat.Nat__nle__gt n m). + +def let__H10 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) => + __0) + (Coq__Arith__PeanoNat.Nat__leb__le n0 m0). + +thm leb__correct : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb m n) Coq__Init__Datatypes.true) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H10 m n m n. + +def let__H11 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) => + __) + (Coq__Arith__PeanoNat.Nat__leb__le n0 m0). + +thm leb__complete : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb m n) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H11 m n m n. + +def let__H12 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false)) => + __0) + (leb__iff__conv m0 n0). + +thm leb__correct__conv : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H12 m n m n. + +def let__H13 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) => + Coq__Init__Peano.lt m0 n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt m0 n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) => + Coq__Init__Peano.lt m0 n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n0 m0) + Coq__Init__Datatypes.false)) => + __) + (leb__iff__conv m0 n0). + +thm leb__complete__conv : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H13 m n m n. + +thm leb__compare : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.true) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + (lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) + Coq__Init__Datatypes.Gt)) + (Coq__Init__Peano.le n m)) => + Coq__Classes__Morphisms.trans__sym__co__inv__impl__morphism + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Equivalence__PER + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__equivalence) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.true) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.comparison) + (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) + (Coq__Init__Peano.le n m) lemma) + (Coq__Arith__PeanoNat.Nat__compare__le__iff n m) + (Coq__Arith__PeanoNat.Nat__leb__le n m). + +(; End of translation. ;) diff --git a/out/Coq__Arith__EqNat.dk b/out/Coq__Arith__EqNat.dk new file mode 100644 index 000000000..df90cb1c9 --- /dev/null +++ b/out/Coq__Arith__EqNat.dk @@ -0,0 +1,2688 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def eq__nat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))) + (c => + c + (eq__nat0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.False) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + eq__nat0 n1 m1) + m) + n)) + cupicef.0. + +thm eq__nat__refl : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (eq__nat n n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => eq__nat n0 n0) + (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) cupicef.I + Coq__Init__Logic.I) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : cupicef.Term cupicef.prop (eq__nat n0 n0) => + cupicef.cast cupicef.prop cupicef.prop (eq__nat n0 n0) + (eq__nat (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0)) + cupicef.I IHn) + n. + +thm eq__nat__is__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eq__nat n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n m) + (__ : cupicef.Term cupicef.prop (eq__nat n m) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + eq__nat n m)) + (Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat n0 m0) + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (eq__nat Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + cupicef.I + (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (eq__nat Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + H)) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat (Coq__Init__Datatypes.S n0) n1) + (__ : + cupicef.Term cupicef.prop + (eq__nat (Coq__Init__Datatypes.S n0) n1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n1)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (eq__nat (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + cupicef.I + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + H)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat n0 m1) + (H : cupicef.Term cupicef.prop (eq__nat n0 m1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (eq__nat (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : cupicef.Term cupicef.prop (eq__nat n0 m1) => + Coq__Init__Peano.f__equal__nat + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S n0 m1 (IHn m1 H))) + m0) + n m) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + eq__nat n m0) + (eq__nat__refl n) m H). + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop (eq__nat n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + eq__nat n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat n0 m0) + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + eq__nat n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + eq__nat n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop (eq__nat n0 m0)) => + __0) + (eq__nat__is__eq n0 m0). + +thm eq__eq__nat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) -> + cupicef.Term cupicef.prop (eq__nat n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m n m. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + eq__nat n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__nat n0 m0) + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + eq__nat n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) + (__0 : cupicef.Term cupicef.prop (eq__nat n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop (eq__nat n0 m0)) => + __) + (eq__nat__is__eq n0 m0). + +thm eq__nat__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (eq__nat n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m n m. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + H : cupicef.Term cupicef.prop (P n) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (eq__nat n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P n) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (eq__nat n m) => + eq__nat__eq n m H0. + +thm eq__nat__elim : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P n) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (eq__nat n m) -> + cupicef.Term cupicef.prop (P m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P n) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (eq__nat n m) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P m0) H m + (let__H1 n P H m H0). + +def eq__nat__decide : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (eq__nat n m) + (Coq__Init__Logic.not (eq__nat n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__rec + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool (eq__nat n0 m) + (Coq__Init__Logic.not (eq__nat n0 m)))) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool (eq__nat Coq__Init__Datatypes.O n0) + (Coq__Init__Logic.not (eq__nat Coq__Init__Datatypes.O n0))) + (cupicef.cast cupicef.set cupicef.set + (Coq__Init__Specif.sumbool Coq__Init__Logic.True + (Coq__Init__Logic.not Coq__Init__Logic.True)) + (Coq__Init__Specif.sumbool + (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.not + (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O))) + cupicef.I + (Coq__Init__Specif.left Coq__Init__Logic.True + (Coq__Init__Logic.not Coq__Init__Logic.True) Coq__Init__Logic.I)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.set cupicef.set + (Coq__Init__Specif.sumbool Coq__Init__Logic.False + (Coq__Init__Logic.not Coq__Init__Logic.False)) + (Coq__Init__Specif.sumbool + (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)) + (Coq__Init__Logic.not + (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)))) + cupicef.I + (Coq__Init__Specif.right Coq__Init__Logic.False + (Coq__Init__Logic.not Coq__Init__Logic.False) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => H)))) + m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool (eq__nat n0 m) + (Coq__Init__Logic.not (eq__nat n0 m)))) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool (eq__nat (Coq__Init__Datatypes.S n0) n1) + (Coq__Init__Logic.not (eq__nat (Coq__Init__Datatypes.S n0) n1))) + (cupicef.cast cupicef.set cupicef.set + (Coq__Init__Specif.sumbool Coq__Init__Logic.False + (Coq__Init__Logic.not Coq__Init__Logic.False)) + (Coq__Init__Specif.sumbool + (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (Coq__Init__Logic.not + (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O))) + cupicef.I + (Coq__Init__Specif.right Coq__Init__Logic.False + (Coq__Init__Logic.not Coq__Init__Logic.False) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => H)))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.set cupicef.set + (Coq__Init__Specif.sumbool (eq__nat n0 m0) + (Coq__Init__Logic.not (eq__nat n0 m0))) + (Coq__Init__Specif.sumbool + (eq__nat (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (Coq__Init__Logic.not + (eq__nat (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)))) + cupicef.I (IHn m0)) + m) + n. + +thm beq__nat__refl : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n n) Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb__refl n). + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true)) => + __) + (Coq__Arith__PeanoNat.Nat__eqb__eq n0 m0). + +thm beq__nat__true : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n m) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H2 n m n m. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false)) => + __) + (Coq__Arith__PeanoNat.Nat__eqb__neq x y). + +thm beq__nat__false : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Arith__PeanoNat.Nat__eqb n m) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H3 n m n m. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m)) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m)) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H. + +def beq__nat__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb n0 m)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m))) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O + Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O + Coq__Init__Datatypes.O)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)) + (let__H4 n m m0 H))) + m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m)) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) n1)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) + n1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n1)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (let__H5 n n0 IHn m H))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0)) + m0 (IHn m0 H))) + m) + n. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Factorial.dk b/out/Coq__Arith__Factorial.dk new file mode 100644 index 000000000..ccb237589 --- /dev/null +++ b/out/Coq__Arith__Factorial.dk @@ -0,0 +1,342 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def fact : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + (c => + c + (fact0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Nat.mul (Coq__Init__Datatypes.S n0) (fact0 n0)) + n)) + cupicef.0. + +thm lt__O__fact : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (fact Coq__Init__Datatypes.O)) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + cupicef.I + (Coq__Init__Peano.le__n + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n0)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (fact (Coq__Init__Datatypes.S n0))) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) + (Coq__Init__Peano.lt Coq__Init__Datatypes.O + (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) + cupicef.I + (Coq__Arith__Plus.le__plus__trans + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) (fact n0) + (Coq__Init__Nat.mul n0 (fact n0)) IHn))) + n. + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) => + __0) + (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). + +thm fact__neq__0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (fact n) Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n (fact n) (lt__O__fact n). + +thm fact__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le (fact n) (fact m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Peano.le__ind n + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le (fact n) (fact m0)) + (Coq__Init__Peano.le__n (fact n)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m0) => + IHle : + cupicef.Term cupicef.prop (Coq__Init__Peano.le (fact n) (fact m0)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (fact n) + (Coq__Init__Nat.add (fact m0) (Coq__Init__Nat.mul m0 (fact m0)))) + (Coq__Init__Peano.le (fact n) (fact (Coq__Init__Datatypes.S m0))) + cupicef.I + (Coq__Classes__RelationClasses.transitivity + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le + (Coq__Classes__RelationClasses.PreOrder__Transitive + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le Coq__Arith__PeanoNat.Nat__le__preorder) + (fact n) (fact m0) + (Coq__Init__Nat.add (fact m0) (Coq__Init__Nat.mul m0 (fact m0))) + IHle + (Coq__Arith__PeanoNat.Nat__le__add__r (fact m0) + (Coq__Init__Nat.mul m0 (fact m0))))) + m H. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Gt.dk b/out/Coq__Arith__Gt.dk new file mode 100644 index 000000000..e2bcb94e8 --- /dev/null +++ b/out/Coq__Arith__Gt.dk @@ -0,0 +1,1422 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm gt__Sn__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__0__succ n. + +thm gt__Sn__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__succ__diag__r n. + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). + +thm gt__n__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m m n. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). + +thm gt__S__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) + (Coq__Init__Datatypes.S n)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m n m. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__eq__cases n0 m0). + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). + +thm gt__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.gt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => + let__H1 n m H m n (let__H2 n m H m n H). + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 + (Coq__Arith__PeanoNat.Nat__pred m0)) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__succ__lt__pred n0 m0). + +thm gt__pred : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt m (Coq__Init__Datatypes.S n)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt (Coq__Init__Nat.pred m) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H3 n m n m. + +thm gt__irrefl : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt n n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__irrefl n. + +thm gt__asym : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__lt__asymm m n. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__le__ngt n0 m0). + +thm le__not__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H4 n m n m. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). + +thm gt__not__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H5 n m m n. + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). + +thm le__S__gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H6 n m n m. + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). + +thm gt__S__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) n) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H7 n m n m. + +def let__H8 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). + +thm gt__le__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H8 n m n m. + +def let__H9 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). + +thm le__gt__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H9 n m n m. + +thm le__gt__trans : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => + Coq__Arith__PeanoNat.Nat__lt__le__trans p m n H0 H. + +thm gt__le__trans : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p m) => + Coq__Arith__PeanoNat.Nat__le__lt__trans p m n H0 H. + +thm gt__trans : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => + Coq__Arith__PeanoNat.Nat__lt__trans p m n H0 H. + +def let__H10 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). + +thm gt__trans__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => + Coq__Arith__PeanoNat.Nat__lt__le__trans p m n H0 + (let__H10 n m p H H0 m n H). + +thm gt__0__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.gt n Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.or (Coq__Init__Peano.gt n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) + (Coq__Init__Logic.or__intror + (Coq__Init__Peano.gt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.or__introl + (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (Coq__Arith__PeanoNat.Nat__lt__0__succ n0)) + n. + +def let__H11 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). + +thm plus__gt__reg__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H11 n m p m n p. + +def let__H12 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). + +thm plus__gt__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.gt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H12 n m p m n p. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Le.dk b/out/Coq__Arith__Le.dk new file mode 100644 index 000000000..cbf0eb0ca --- /dev/null +++ b/out/Coq__Arith__Le.dk @@ -0,0 +1,319 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) => + Coq__Init__Peano.le n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) => + Coq__Init__Peano.le n0 Coq__Init__Datatypes.O))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O)) => + __) + (Coq__Arith__PeanoNat.Nat__le__0__r n0). + +thm le__n__0__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O (let__H0 n H n H). + +thm le__n__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) + +:= Coq__Init__Peano.le__n__S. + +thm le__S__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= Coq__Init__Peano.le__S__n. + +thm le__Sn__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= Coq__Arith__PeanoNat.Nat__lt__le__incl. + +thm le__elim__rel : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O p)) -> + __0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> + __1 : cupicef.Term cupicef.prop (P p q) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.S p) (Coq__Init__Datatypes.S q))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop (P n m) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O p)) => + HS : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> + __0 : cupicef.Term cupicef.prop (P p q) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.S p) (Coq__Init__Datatypes.S q))) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m) => + P n0 m))) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le Coq__Init__Datatypes.O m) => + H0 m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m) -> + cupicef.Term cupicef.prop (P n0 m)) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Le : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m) => + Coq__Init__Peano.le__ind (Coq__Init__Datatypes.S n0) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P (Coq__Init__Datatypes.S n0) m0) + (HS n0 n0 (Coq__Init__Peano.le__n n0) + (IHn n0 (Coq__Init__Peano.le__n n0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + H1 : cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S n0) m0) => + HS n0 m0 (le__Sn__le n0 m0 H) (IHn m0 (le__Sn__le n0 m0 H))) + m Le) + n. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Lt.dk b/out/Coq__Arith__Lt.dk new file mode 100644 index 000000000..3af116c31 --- /dev/null +++ b/out/Coq__Arith__Lt.dk @@ -0,0 +1,1835 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). + +thm lt__le__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m n m. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) => + __) + (Coq__Arith__PeanoNat.Nat__lt__succ__r n0 m0). + +thm lt__n__Sm__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n (Coq__Init__Datatypes.S m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m n m. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) => + __0) + (Coq__Arith__PeanoNat.Nat__lt__succ__r n0 m0). + +thm le__lt__n__Sm : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n (Coq__Init__Datatypes.S m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H1 n m n m. + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__le__ngt n0 m0). + +thm le__not__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H2 n m n m. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). + +thm lt__not__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H3 n m n m. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) => + __) + (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). + +thm neq__0__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) => + let__H4 n H n + (Coq__Arith__PeanoNat.Nat__neq__sym Coq__Init__Datatypes.O n H). + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) => + __0) + (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). + +thm lt__0__neq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => + Coq__Arith__PeanoNat.Nat__neq__sym n Coq__Init__Datatypes.O + (let__H5 n H n H). + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). + +thm lt__n__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H6 n m n m. + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). + +thm lt__S__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H7 n m n m. + +thm S__pred : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n)) n + (Coq__Arith__PeanoNat.Nat__lt__succ__pred m n H). + +thm S__pred__pos : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + S__pred n Coq__Init__Datatypes.O. + +def let__H8 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 + (Coq__Arith__PeanoNat.Nat__pred m0)) => + Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__succ__lt__pred n0 m0). + +thm lt__pred : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n (Coq__Init__Nat.pred m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H8 n m n m. + +def let__H9 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) => + Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O))) => + __0) + (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). + +thm lt__pred__n__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt (Coq__Init__Nat.pred n) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => + Coq__Arith__PeanoNat.Nat__lt__pred__l n (let__H9 n H n H). + +def let__H10 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__lt__eq__cases n0 m0). + +thm le__lt__or__eq : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H10 n m n m. + +def let__H11 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) + (Coq__Init__Peano.lt m0 n0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__lt__gt__cases n0 m0). + +thm nat__total__order : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) (Coq__Init__Peano.lt m n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H11 n m n m. + +(; End of translation. ;) diff --git a/out/Coq__Arith__Minus.dk b/out/Coq__Arith__Minus.dk new file mode 100644 index 000000000..c5dee9532 --- /dev/null +++ b/out/Coq__Arith__Minus.dk @@ -0,0 +1,796 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm minus__n__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.sub n Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n Coq__Init__Datatypes.O) n + (Coq__Arith__PeanoNat.Nat__sub__0__r n). + +thm minus__Sn__m : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.sub n m)) + (Coq__Init__Nat.sub (Coq__Init__Datatypes.S n) m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub (Coq__Init__Datatypes.S n) m) + (Coq__Init__Datatypes.S (Coq__Init__Nat.sub n m)) + (Coq__Arith__PeanoNat.Nat__sub__succ__l m n H). + +thm pred__of__minus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.pred n) + (Coq__Init__Nat.sub n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.pred n) (Coq__Arith__PeanoNat.Nat__sub__1__r n). + +thm minus__diag__reverse : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Nat.sub n n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n n) Coq__Init__Datatypes.O + (Coq__Arith__PeanoNat.Nat__sub__diag n). + +thm minus__plus__simpl__l__reverse : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) + (Coq__Init__Nat.sub (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub + (Coq__Arith__PeanoNat.Nat__sub (Coq__Init__Nat.add p n) p) m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) n0) + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add n p) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) + (Coq__Arith__PeanoNat.Nat__sub + (Coq__Arith__PeanoNat.Nat__sub n0 p) m)) + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) (Coq__Arith__PeanoNat.Nat__sub n0 m)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n m)) + (Coq__Arith__PeanoNat.Nat__sub (Coq__Arith__PeanoNat.Nat__add n p) + p) + (Coq__Arith__PeanoNat.Nat__add__sub n p)) + (Coq__Arith__PeanoNat.Nat__add p n) + (Coq__Arith__PeanoNat.Nat__add__comm p n)) + (Coq__Arith__PeanoNat.Nat__sub (Coq__Init__Nat.add p n) + (Coq__Arith__PeanoNat.Nat__add p m)) + (Coq__Arith__PeanoNat.Nat__sub__add__distr (Coq__Init__Nat.add p n) p m). + +thm plus__minus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.add m p)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + p (Coq__Init__Nat.sub n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.add m p)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) p + (Coq__Arith__PeanoNat.Nat__add__sub__eq__l n m p + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Arith__PeanoNat.Nat__add m p) H)). + +thm minus__plus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub (Coq__Init__Nat.add n m) n) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add m n) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n0 n) m) + (Coq__Arith__PeanoNat.Nat__add__sub m n) + (Coq__Arith__PeanoNat.Nat__add n m) + (Coq__Arith__PeanoNat.Nat__add__comm n m). + +thm le__plus__minus__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n)) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add (Coq__Init__Nat.sub m n) n) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m)) + (Coq__Arith__PeanoNat.Nat__sub__add n m) + (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.sub m n)) + (Coq__Arith__PeanoNat.Nat__add__comm n (Coq__Init__Nat.sub m n)). + +thm le__plus__minus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n)) m + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add (Coq__Init__Nat.sub m n) n) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m) + (Coq__Arith__PeanoNat.Nat__sub__add n m H) + (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.sub m n)) + (Coq__Arith__PeanoNat.Nat__add__comm n (Coq__Init__Nat.sub m n))). + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add n0 p) m0) => + Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 + (Coq__Arith__PeanoNat.Nat__sub m0 p)) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__lt__add__lt__sub__r n0 m0 p). + +thm lt__O__minus__lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O (Coq__Init__Nat.sub n m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m Coq__Init__Datatypes.O n m. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) + Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) + Coq__Init__Datatypes.O) => + Coq__Init__Peano.le n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) + Coq__Init__Datatypes.O))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) => + __0) + (Coq__Arith__PeanoNat.Nat__sub__0__le n0 m0). + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). + +thm not__le__minus__0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.sub n m) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => + let__H0 n m H n m + (Coq__Arith__PeanoNat.Nat__lt__le__incl n m (let__H1 n m H n m H)). + +(; End of translation. ;) diff --git a/out/Coq__Arith__Mult.dk b/out/Coq__Arith__Mult.dk new file mode 100644 index 000000000..16146079c --- /dev/null +++ b/out/Coq__Arith__Mult.dk @@ -0,0 +1,2942 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm mult__assoc__reverse : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul (Coq__Init__Nat.mul n m) p) + (Coq__Init__Nat.mul n (Coq__Init__Nat.mul m p))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n (Coq__Init__Nat.mul m p)) + (Coq__Init__Nat.mul (Coq__Init__Nat.mul n m) p) + (Coq__Arith__PeanoNat.Nat__mul__assoc n m p). + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + Coq__Init__Datatypes.O))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O)) => + __) + (Coq__Arith__PeanoNat.Nat__eq__mul__0 n0 m0). + +thm mult__is__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m n m. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__mul n0 m0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => + __) + (Coq__Arith__PeanoNat.Nat__eq__mul__1 n0 m0). + +thm mult__is__one : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m n m. + +thm mult__O__le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + (Coq__Init__Peano.le n (Coq__Init__Nat.mul m n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Peano.le n (Coq__Init__Nat.mul n0 n))) + (Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Peano.le n (Coq__Init__Nat.mul Coq__Init__Datatypes.O n)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) Coq__Init__Datatypes.O) + (Coq__Init__Peano.le n + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S m0) n)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le n + (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.mul m0 n))) + (Coq__Init__Peano.le n + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S m0) n)) + cupicef.I + (Coq__Arith__PeanoNat.Nat__le__add__r n (Coq__Init__Nat.mul m0 n)))) + m. + +thm mult__le__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.mul p n) (Coq__Init__Nat.mul p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg__l n m p + (Coq__Arith__PeanoNat.Nat__le__0__l p). + +thm mult__le__compat__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg__r n m p + (Coq__Arith__PeanoNat.Nat__le__0__l p). + +thm mult__le__compat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m q)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) => + Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg n m p q + (Coq__Arith__PeanoNat.Nat__le__0__l n) H + (Coq__Arith__PeanoNat.Nat__le__0__l p) H0. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (__0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => + __1 : + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__l p0 n0 m0 __). + +thm mult__S__lt__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m p) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) m) + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H1 n m p (Coq__Init__Datatypes.S n) m p + (Coq__Arith__PeanoNat.Nat__lt__0__succ n). + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (__0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => + __1 : + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__l p0 n0 m0 __). + +thm mult__lt__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + __0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.mul p n) (Coq__Init__Nat.mul p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => + let__H2 n m p H H0 p n m H0 H. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) => + Coq__Init__Peano.lt n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0))) + (__0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0))) => + __1 : + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) + (Coq__Arith__PeanoNat.Nat__mul m0 p0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__r p0 n0 m0 __). + +thm mult__lt__compat__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + __0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => + let__H3 n m p H H0 p n m H0 H. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le + (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => + __1 : + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) + (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __1) + (Coq__Arith__PeanoNat.Nat__mul__le__mono__pos__l n0 m0 p0 __). + +thm mult__S__le__reg__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) m) + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) p)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H4 n m p m p (Coq__Init__Datatypes.S n) + (Coq__Arith__PeanoNat.Nat__lt__0__succ n). + +thm odd__even__lem : + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q))) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q)) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q)) => + Coq__Arith__PeanoNat.Nat__Even__Odd__False + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q) + (Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + m)) + q + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q))) + (Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + m) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + p + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + p) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Nat.mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + q) + H))). + +def mult__acc : + s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.set + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))))) + (c => + c + (mult__acc0 => + s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + s + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + mult__acc0 (Coq__Arith__Plus.tail__plus m s) m p) + n)) + cupicef.0. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) + (mult__acc m p n0))) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0. + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + p p) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) + (mult__acc m p n0))) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + p. + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add m p) (Coq__Arith__Plus.tail__plus p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) + (mult__acc m p n0))) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Arith__Plus.tail__plus p m)) + (Coq__Arith__Plus.plus__tail__plus p m) + (Coq__Arith__PeanoNat.Nat__add m p) + (Coq__Arith__PeanoNat.Nat__add__comm m p). + +thm mult__acc__aux : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n p)) (mult__acc m p n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) + (mult__acc m p n0)))) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m Coq__Init__Datatypes.O) m))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m + (Coq__Init__Nat.mul Coq__Init__Datatypes.O p)) + (mult__acc m p Coq__Init__Datatypes.O)))) + cupicef.I + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Nat.add m Coq__Init__Datatypes.O) + (Coq__Init__Peano.plus__n__O m))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) + (mult__acc m p n0))) => + cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) + (Coq__Arith__PeanoNat.Nat__add m + (Coq__Arith__PeanoNat.Nat__add p + (Coq__Init__Nat.mul n0 p)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n0) p)) + (mult__acc m p (Coq__Init__Datatypes.S n0))))) + cupicef.I + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add (Coq__Arith__PeanoNat.Nat__add m p) + (Coq__Init__Nat.mul n0 p)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (mult__acc (Coq__Arith__PeanoNat.Nat__add m p) p n0) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) + ((H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add m p) + (Coq__Arith__Plus.tail__plus p m)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + p p) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (mult__acc (Coq__Init__Nat.add m p) p n0) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (f : + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + f n0) + (mult__acc (Coq__Init__Nat.add m p) p) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))) + (mult__acc (Coq__Init__Nat.add m p) p) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))) + (f : + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat) => + f p) + (mult__acc (Coq__Init__Nat.add m p)) + (mult__acc (Coq__Arith__Plus.tail__plus p m)) + (Coq__Init__Logic.eq__trans + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + (mult__acc (Coq__Init__Nat.add m p)) + (mult__acc (Coq__Init__Nat.add m p)) + (mult__acc (Coq__Arith__Plus.tail__plus p m)) + (Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (s : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + cupicef.I + Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + (f : + (s : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat) => + f (Coq__Init__Nat.add m p)) + mult__acc mult__acc + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (s : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + cupicef.I + Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + cupicef.I + Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + mult__acc)) + (Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set + cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + mult__acc (Coq__Init__Nat.add m p) + (Coq__Arith__Plus.tail__plus p m) H0))) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) + cupicef.I Coq__Init__Datatypes.nat + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))) + (mult__acc (Coq__Arith__Plus.tail__plus p m)) p p + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + p)))) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (mult__acc (Coq__Arith__Plus.tail__plus p m) p) n0 n0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0))) + (let__H7 n n0 IHn m p) (let__H6 n n0 IHn m p) + (let__H5 n n0 IHn m p)) + (Coq__Init__Nat.add (Coq__Arith__PeanoNat.Nat__add m p) + (Coq__Init__Nat.mul n0 p)) + (IHn (Coq__Arith__PeanoNat.Nat__add m p) p)) + (Coq__Arith__PeanoNat.Nat__add m + (Coq__Arith__PeanoNat.Nat__add p (Coq__Init__Nat.mul n0 p))) + (Coq__Arith__PeanoNat.Nat__add__assoc m p + (Coq__Init__Nat.mul n0 p)))) + n. + +def tail__mult : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + mult__acc Coq__Init__Datatypes.O m n. + +thm mult__tail__mult : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) (tail__mult n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.prop cupicef.prop + ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) n0) + (mult__acc Coq__Init__Datatypes.O m n)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) (tail__mult n m)) + cupicef.I + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O (Coq__Init__Nat.mul n m)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul n m) n0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O + (Coq__Init__Nat.mul n m))) + (mult__acc Coq__Init__Datatypes.O m n) + (mult__acc__aux n Coq__Init__Datatypes.O m)). + +(; End of translation. ;) diff --git a/out/Coq__Arith__Peano__dec.dk b/out/Coq__Arith__Peano__dec.dk new file mode 100644 index 000000000..c6f7978f7 --- /dev/null +++ b/out/Coq__Arith__Peano__dec.dk @@ -0,0 +1,6849 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def O__or__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) n)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__rec + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) n0)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) + (Coq__Init__Specif.inright + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) Coq__Init__Datatypes.O))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumor cupicef.set + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) n0)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0)) => + Coq__Init__Specif.inleft + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) (Coq__Init__Datatypes.S n0)))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (Coq__Init__Specif.exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) (Coq__Init__Datatypes.S n0)) + n0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0)))) + n. + +def dec__eq__nat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Logic__Decidable.decidable + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Specif.sumbool__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m))) => + Coq__Logic__Decidable.decidable + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (a : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + a) + (b : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + b) + (Coq__Arith__PeanoNat.Nat__eq__dec n m). + +def UIP__nat : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y) -> + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y)) + p1 p2) + +:= Coq__Logic__Eqdep__dec.UIP__dec + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Arith__PeanoNat.Nat__eq__dec. + +def let__Coq__Arith__Peano__dec__internal__eq__rew__dep : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (a : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x a) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x (Coq__Init__Logic.eq__refl A x)) -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y e) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (a : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x a) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x (Coq__Init__Logic.eq__refl A x)) => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + Coq__Init__Logic.match____eq (cupicef.type (cupicef.s cupicef.z)) A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y0) => + P y0 e0) + f y e. + +def let__n0 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.S n. + +def let__H0 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.False) + e) + Coq__Init__Logic.I (Coq__Init__Datatypes.S n1) H. + +def let__H1 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + n1 (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => n0) e) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2) H. + +def let__def__n2 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n1) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1. + +def let__def__n3 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n0)) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn5 le__mn6)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 n4) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n0)) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn5 le__mn6)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4. + +def let__def__n4 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn5 le__mn6)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn5 le__mn6)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m. + +def let__def__n5 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S m0)) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0). + +def let__f : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m) -> + le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m) => + le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m0) => + Coq__Arith__PeanoNat.Nat__nle__succ__diag__l m0 le__mn0. + +def let__def__n6 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 n4) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4. + +def let__def__n7 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m. + +def let__f0 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S m0)) -> + le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n0)) -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn6 le__mn7)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S m0)) => + le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m0) => + Coq__Arith__PeanoNat.Nat__nle__succ__diag__l m0 le__mn0. + +def let__def__n8 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m1)) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1). + +def let__H : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + m1 (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => n0) e) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0) def__n0. + +def let__def__n9 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) -> + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) -> + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) (Coq__Init__Datatypes.S m2)) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) => + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2). + +def let__def__n10 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) -> + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) -> + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S m0)) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) => + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0). + +def let__H2 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) -> + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) -> + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) -> + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) -> + def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m m0)) + le__mn4 le__mn7) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n0)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m0)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) => + IHn2 : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S n0)) -> + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + le__mn8 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n0)) + le__mn7 le__mn8)) => + le__mn7 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) (Coq__Init__Datatypes.S m0)) => + IHn2 m0 def__n1 le__mn4 le__mn7. + +thm le__unique : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n)) + le__mn1 le__mn2) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n2)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n2)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n2) + (le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n2) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m n2) + (le__mn2 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n2) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n2)) + le__mn1 le__mn2))))) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n1)) + le__mn1 le__mn2) + (let__H0 m n n1 H le__mn1 le__mn2)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn0 : + (n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Datatypes.S n2)) -> + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n2) -> + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n2)) + le__mn1 le__mn2)) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n2)) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n2) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 + (n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n3)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n3)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n3) + (le__mn1 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le m n3) + (le__mn2 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n3)) + le__mn1 le__mn2)))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n1) (Coq__Init__Datatypes.S n1)) => + le__mn1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + le__mn2 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n1)) + le__mn1 + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Peano.le m) le__mn2 n1 + (let__def__n2 m n n1 IHn0 n2 H H1 H2 le__mn1 le__mn2)) + le__mn2 + ((n3 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn3 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n3) => + Coq__Init__Peano.match____le cupicef.prop m + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n1) + (le__mn4 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n4) + (def__n3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n4) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + l + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 (Coq__Init__Peano.le m) le__mn4 n4 def__n3)))) + (le__mn4 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Peano.match____le cupicef.prop m + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) => + cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (n5 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n5) + (le__mn5 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Coq__Init__Peano.le m n5) + (le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n5)) + le__mn5 le__mn6))))) + (IHn1 : + (n5 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) -> + le__mn5 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) -> + le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n5)) + le__mn5 le__mn6)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 m) + (def__n3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 m) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m m)) + (Coq__Init__Peano.le__n m) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Peano.le m) l m def__n3)))) + (IHn1 : + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n4)) -> + le__mn5 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + le__mn6 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn5 le__mn6)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m) + (def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m m)) + (Coq__Init__Peano.le__n m) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Peano.le m) + (Coq__Init__Peano.le__n m) m def__n1)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m m)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Peano.le m) + (Coq__Init__Peano.le__n m) m + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m))) + def__n0 + (UIP__nat m m def__n0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn5 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + IHn1 : + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S n4)) -> + le__mn6 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + le__mn7 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn6 le__mn7)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m) => + let__Coq__Arith__Peano__dec__internal__eq__rew__dep + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (m1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m1) + (def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m1) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I Coq__Init__Datatypes.nat + (a : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) a) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) a) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I + (m1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) m1) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Coq__Init__Peano.le m1 m0) + (le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m1 m0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m1 m1)) + (Coq__Init__Peano.le__n m1) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Peano.le m1) + (Coq__Init__Peano.le__S m1 m0 le__mn6) m1 + def__n1)))) + (le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) + m0) => + Coq__Init__Logic.match____False cupicef.prop + (__ : + cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__n + (Coq__Init__Datatypes.S m0)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S m0)) + (Coq__Init__Peano.le__S + (Coq__Init__Datatypes.S m0) m0 le__mn0) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0)))) + (let__f m n n1 IHn0 n2 H H1 H2 le__mn1 le__mn2 n3 + le__mn3 le__mn4 m0 le__mn5 IHn1 def__n0 le__mn0)) + m def__n0 le__mn5) + n1 le__mn4 IHn0) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn4 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m m0) => + le__mn5 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n1) => + Coq__Init__Peano.match____le cupicef.prop m + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) => + cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (n5 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n5) + (le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Coq__Init__Peano.le m n5) + (le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n5)) + le__mn6 le__mn7))))) + (IHn1 : + (n5 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S n5)) -> + le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) -> + le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n5) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n5)) + le__mn6 le__mn7)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S m0)) + (def__n3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Datatypes.S m0)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn4) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n4 (Coq__Init__Peano.le m) l + (Coq__Init__Datatypes.S m0) def__n3)))) + (IHn1 : + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S n4)) -> + le__mn6 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + le__mn7 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn6 le__mn7)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S m0)) => + Coq__Logic__EqdepFacts.internal__eq__rew__r__dep + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S m0) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (m1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 (Coq__Init__Datatypes.S m0)) + (def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 (Coq__Init__Datatypes.S m0)) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I Coq__Init__Datatypes.nat + (y : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y (Coq__Init__Datatypes.S m0)) + (H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y (Coq__Init__Datatypes.S m0)) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I + (m1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 (Coq__Init__Datatypes.S m0)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Coq__Init__Peano.le m1 m0) + (le__mn6 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m1 m0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m1 + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m1 m0 le__mn6) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 (Coq__Init__Peano.le m1) + (Coq__Init__Peano.le__n m1) + (Coq__Init__Datatypes.S m0) def__n1)))) + (le__mn0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) + m0) => + Coq__Init__Logic.match____False cupicef.prop + (__ : + cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S + (Coq__Init__Datatypes.S m0) m0 le__mn0) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Peano.le + (Coq__Init__Datatypes.S m0)) + (Coq__Init__Peano.le__n + (Coq__Init__Datatypes.S m0)) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0)))) + (let__f0 m n n1 IHn0 n2 H H1 H2 le__mn1 le__mn2 n3 + le__mn3 m0 le__mn4 le__mn5 IHn1 def__n0 le__mn0)) + def__n0 le__mn4) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__mn6 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m m1) => + IHn1 : + (n4 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n4)) -> + le__mn7 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + le__mn8 : + cupicef.Term cupicef.prop (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn7 le__mn8)) => + def__n0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S m0)) => + (H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m1 m0) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m0 + (m2 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (n4 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Datatypes.S n4)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Datatypes.S n4)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m n4) + (le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Coq__Init__Peano.le m n4) + (le__mn8 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m n4)) + le__mn7 le__mn8))))) + (IHn2 : + (n4 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Datatypes.S n4)) -> + le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) -> + le__mn8 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn7 le__mn8)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Peano.le m m2) + (le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m m2) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Datatypes.S m0)) + (def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn4) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (Coq__Init__Peano.le m) + (Coq__Init__Peano.le__S m m2 le__mn7) + (Coq__Init__Datatypes.S m0) def__n1))))) + (IHn2 : + (n4 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S n4)) -> + le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) -> + le__mn8 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m n4) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n4)) + le__mn7 le__mn8)) => + le__mn7 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m m0) => + def__n1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0)) + (def__n3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn4) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Peano.le m) + (Coq__Init__Peano.le__S m m0 le__mn7) + (Coq__Init__Datatypes.S m0) def__n3)) + (cupicef.cast cupicef.prop cupicef.prop + ((le__mn8 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m m0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn8) + (Coq__Init__Peano.le__S m m0 le__mn7)) + le__mn4) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn4) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Peano.le m) + (Coq__Init__Peano.le__S m m0 le__mn7) + (Coq__Init__Datatypes.S m0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0)))) + cupicef.I + (Coq__Init__Logic.eq__ind__r + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m m0)) + le__mn7 + (le__mn8 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m m0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn8) + (Coq__Init__Peano.le__S m m0 le__mn7)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Peano.le m + (Coq__Init__Datatypes.S m0))) + (Coq__Init__Peano.le__S m m0 le__mn7)) + le__mn4 + (let__H2 m n n1 IHn0 n2 H H1 H2 le__mn1 + le__mn2 n3 le__mn3 m0 le__mn4 le__mn5 m1 + le__mn6 IHn1 def__n0 H3 IHn2 le__mn7 + def__n1))) + def__n1 + (UIP__nat (Coq__Init__Datatypes.S m0) + (Coq__Init__Datatypes.S m0) def__n1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m0)))) + m1 H3 IHn1 le__mn6 def__n0) + (let__H m n n1 IHn0 n2 H H1 H2 le__mn1 le__mn2 n3 + le__mn3 m0 le__mn4 le__mn5 m1 le__mn6 IHn1 def__n0)) + n1 le__mn5 IHn0) + n3 le__mn3) + n1 le__mn1 le__mn2 + (let__def__n2 m n n1 IHn0 n2 H H1 H2 le__mn1 le__mn2)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Peano.le m n1)) + le__mn2)) + n2 H1 H) + (let__H1 m n n1 IHn0 n2 H)) + (let__n0 m n) n + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n)). + +(; End of translation. ;) diff --git a/out/Coq__Arith__Plus.dk b/out/Coq__Arith__Plus.dk new file mode 100644 index 000000000..f54e9a827 --- /dev/null +++ b/out/Coq__Arith__Plus.dk @@ -0,0 +1,2831 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def plus__Snm__nSm : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n) m) + (Coq__Init__Nat.add n (Coq__Init__Datatypes.S m))) + +:= Coq__Init__Peano.plus__n__Sm. + +thm plus__assoc__reverse : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.add n m) p) + (Coq__Init__Nat.add n (Coq__Init__Nat.add m p))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n (Coq__Init__Nat.add m p)) + (Coq__Init__Nat.add (Coq__Init__Nat.add n m) p) + (Coq__Arith__PeanoNat.Nat__add__assoc n m p). + +def let__H : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __) + (Coq__Arith__PeanoNat.Nat__add__cancel__l n0 m0 p0). + +thm plus__reg__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H n m p n m p. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__add__le__mono__l n0 m0 p0). + +thm plus__le__reg__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H0 n m p n m p. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __0) + (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). + +thm plus__lt__reg__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H1 n m p n m p. + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__add__le__mono__l n0 m0 p0). + +thm plus__le__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H2 n m p n m p. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) => + Coq__Init__Peano.le n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le + (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) => + Coq__Init__Peano.le n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.le n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => + Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__add__le__mono__r n0 m0 p0). + +thm plus__le__compat__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H3 n m p n m p. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) + (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). + +thm plus__lt__compat__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H4 n m p n m p. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) => + Coq__Init__Peano.lt n0 m0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt + (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) => + Coq__Init__Peano.lt n0 m0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n0 m0) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => + Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p0) + (Coq__Arith__PeanoNat.Nat__add m0 p0)) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => + __) + (Coq__Arith__PeanoNat.Nat__add__lt__mono__r n0 m0 p0). + +thm plus__lt__compat__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + let__H5 n m p n m p. + +thm plus__le__compat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m q)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__add__le__mono n m p q. + +thm plus__le__lt__compat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p q) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m q)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__add__le__lt__mono n m p q. + +thm plus__lt__le__compat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m q)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__add__lt__le__mono n m p q. + +thm plus__lt__compat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p q) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (Coq__Init__Nat.add n p) (Coq__Init__Nat.add m q)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__add__lt__mono n m p q. + +thm le__plus__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n (Coq__Init__Nat.add n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__le__add__r n m. + +thm le__plus__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le m (Coq__Init__Nat.add n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Arith__PeanoNat.Nat__add m n) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Peano.le m n0) + (Coq__Arith__PeanoNat.Nat__le__add__r m n) + (Coq__Arith__PeanoNat.Nat__add n m) + (Coq__Arith__PeanoNat.Nat__add__comm n m). + +thm le__plus__trans : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n (Coq__Init__Nat.add m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => + (lemma : + cupicef.Term cupicef.prop + (Coq__Init__Peano.le m (Coq__Arith__PeanoNat.Nat__add m p)) => + Coq__Classes__Morphisms.trans__contra__inv__impl__morphism + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le + (Coq__Classes__RelationClasses.PreOrder__Transitive + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le Coq__Arith__PeanoNat.Nat__le__preorder) + n (Coq__Init__Nat.add m p) m lemma) + (Coq__Arith__PeanoNat.Nat__le__add__r m p) H. + +thm lt__plus__trans : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n (Coq__Init__Nat.add m p)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => + Coq__Arith__PeanoNat.Nat__lt__le__trans n m (Coq__Init__Nat.add m p) H + (Coq__Arith__PeanoNat.Nat__le__add__r m p). + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (let__H7 n m n0 H H0 H1)) + H0) + Coq__Init__Datatypes.O H. + +def let__H9 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H8 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + y Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + (let__H9 n m n0 H H0 H1)) + H0) + Coq__Init__Datatypes.O H. + +thm plus__is__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n m) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 m) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 m) Coq__Init__Datatypes.O) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O) + H) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + Coq__Init__Datatypes.O) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + (let__H6 n m n0 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (let__H8 n m n0 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + n. + +def let__H10 : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) + n) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + n0) + e) + Coq__Init__Logic.I (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) H. + +def plus__is__one : + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add m n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O))) + +:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Specif.left + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O)) + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O) + H)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Specif.right + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O)) + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Peano.eq__add__S n Coq__Init__Datatypes.O H))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) n) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => + Coq__Init__Logic.False__rec + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) + Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n Coq__Init__Datatypes.O))) + (let__H10 m n m0 m1 H)) + m0) + m. + +def tail__plus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (tail__plus0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + m + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + tail__plus0 n0 (Coq__Init__Datatypes.S m)) + n)) + cupicef.0. + +thm plus__tail__plus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n m) (tail__plus n m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 m) (tail__plus n0 m))) + (cupicef.cast (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set cupicef.prop) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m m)) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O m) + (tail__plus Coq__Init__Datatypes.O m))) + cupicef.I + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + m)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 m) (tail__plus n0 m))) => + cupicef.cast (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set cupicef.prop) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) n1) + (tail__plus n0 (Coq__Init__Datatypes.S m)))) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m) + (tail__plus (Coq__Init__Datatypes.S n0) m))) + cupicef.I + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) n1) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m))) + cupicef.I (Coq__Init__Peano.plus__n__Sm n0 m)) + (tail__plus n0 (Coq__Init__Datatypes.S m)) + (IHn (Coq__Init__Datatypes.S m)))) + n. + +thm succ__plus__discr : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S (Coq__Init__Nat.add m n)))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Arith__PeanoNat.Nat__succ__add__discr m n. + +thm n__SSn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n)))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + succ__plus__discr n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O). + +thm n__SSSn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n))))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + succ__plus__discr n + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)). + +thm n__SSSSn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n)))))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + succ__plus__discr n + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))). + +(; End of translation. ;) diff --git a/out/Coq__Arith__Wf__nat.dk b/out/Coq__Arith__Wf__nat.dk new file mode 100644 index 000000000..87e087299 --- /dev/null +++ b/out/Coq__Arith__Wf__nat.dk @@ -0,0 +1,3746 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def ltof : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Peano.lt (f a) (f b). + +def gtof : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Peano.gt (f b) (f a). + +def let__H : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A (ltof A f) a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (f a) n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) => + Coq__Init__Wf.Acc A (ltof A f) a))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind (Coq__Init__Wf.Acc A (ltof A f) a) + (Coq__Arith__PeanoNat.Nat__nlt__0__r (f a) H)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A (ltof A f) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S n0)) => + Coq__Init__Wf.Acc__intro A (ltof A f) a + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (f b) (f a)) + (Hb : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f b) (f a)) => + Coq__Init__Wf.Acc A (ltof A f) b))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (ltof A f y a) + (__ : cupicef.Term cupicef.prop (ltof A f y a) => + Coq__Init__Wf.Acc A (ltof A f) y))) + cupicef.I + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hb : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f b) (f a)) => + IHn b + (Coq__Arith__PeanoNat.Nat__lt__le__trans (f b) (f a) n0 Hb + (Coq__Arith__Lt.lt__n__Sm__le (f a) n0 Ha))))) + n. + +def well__founded__ltof : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.well__founded A (ltof A f)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A (ltof A f) a)) + (Coq__Init__Wf.well__founded A (ltof A f)) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + let__H A f (Coq__Init__Datatypes.S (f a)) a + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S (f a)) + (Coq__Init__Datatypes.S (f a))) + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S (f a))) + cupicef.I (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S (f a))))). + +def well__founded__gtof : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.well__founded A (gtof A f)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + well__founded__ltof A f. + +def let__H0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (ltof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n) -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (ltof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__rect + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.axiom + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set + (cupicef.axiom + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I Coq__Init__Datatypes.nat + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Peano.lt (f a) n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) => + P a)))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__rec (P a) + (Coq__Arith__PeanoNat.Nat__nlt__0__r (f a) H)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) -> + cupicef.Term cupicef.set (P a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S n0)) => + F a + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I A + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Peano.lt (f b) (f a)) + (Hb : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f b) (f a)) => + P b))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (ltof A f y a) + (__ : cupicef.Term cupicef.prop (ltof A f y a) => P y))) + cupicef.I + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hb : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f b) (f a)) => + IHn b + (Coq__Arith__PeanoNat.Nat__lt__le__trans (f b) (f a) n0 Hb + (Coq__Arith__Lt.lt__n__Sm__le (f a) n0 Ha))))) + n. + +def induction__ltof1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (ltof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (ltof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + let__H0 A f P F (Coq__Init__Datatypes.S (f a)) a + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S (f a)) + (Coq__Init__Datatypes.S (f a))) + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S (f a))) cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S (f a)))). + +def induction__gtof1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (gtof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + induction__ltof1 A f. + +def induction__ltof2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (ltof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + Coq__Init__Wf.well__founded__induction A (ltof A f) + (well__founded__ltof A f). + +def induction__gtof2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (gtof A f y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + induction__ltof2 A f. + +def let__H1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H__compat : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f x) (f y))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H__compat : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f x) (f y))) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt (f a) n0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) => + Coq__Init__Wf.Acc A R a))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind (Coq__Init__Wf.Acc A R a) + (Coq__Arith__PeanoNat.Nat__nlt__0__r (f a) H)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f a) n0) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S n0)) => + Coq__Init__Wf.Acc__intro A R a + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hb : cupicef.Term cupicef.prop (R b a) => + IHn b + (Coq__Arith__PeanoNat.Nat__lt__le__trans (f b) (f a) n0 + (H__compat b a Hb) (Coq__Arith__Lt.lt__n__Sm__le (f a) n0 Ha)))) + n. + +def well__founded__lt__compat : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H__compat : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f x) (f y))) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.well__founded A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H__compat : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt (f x) (f y))) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a)) + (Coq__Init__Wf.well__founded A R) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + let__H1 A f R H__compat (Coq__Init__Datatypes.S (f a)) a + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S (f a)) + (Coq__Init__Datatypes.S (f a))) + (Coq__Init__Peano.lt (f a) (Coq__Init__Datatypes.S (f a))) + cupicef.I (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S (f a))))). + +def lt__wf : + cupicef.Term cupicef.prop + (Coq__Init__Wf.well__founded + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.lt) + +:= well__founded__ltof + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => m). + +def lt__wf__rec1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) -> + __ : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + cupicef.Term cupicef.set (P m)) -> + cupicef.Term cupicef.set (P n0)) -> + cupicef.Term cupicef.set (P n) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) => + F : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + cupicef.Term cupicef.set (P m)) -> + cupicef.Term cupicef.set (P n)) => + induction__ltof1 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => m) P F p. + +def lt__wf__rec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) -> + __ : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + cupicef.Term cupicef.set (P m)) -> + cupicef.Term cupicef.set (P n0)) -> + cupicef.Term cupicef.set (P n) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) => + F : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + cupicef.Term cupicef.set (P m)) -> + cupicef.Term cupicef.set (P n)) => + induction__ltof2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => m) P F p. + +thm lt__wf__ind : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + cupicef.Term cupicef.prop (P m)) -> + cupicef.Term cupicef.prop (P n0)) -> + cupicef.Term cupicef.prop (P n) + +:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + cupicef.Term cupicef.prop (P m)) -> + cupicef.Term cupicef.prop (P n)) => + Coq__Init__Wf.Acc__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.lt + (p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P p0) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.lt y)) => + H1 : + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> + cupicef.Term cupicef.prop (P y)) => + H x H1) + p (lt__wf p). + +def gt__wf__rec : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) -> + __ : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n0 m) -> + cupicef.Term cupicef.set (P m)) -> + cupicef.Term cupicef.set (P n0)) -> + cupicef.Term cupicef.set (P n) + +:= lt__wf__rec. + +thm gt__wf__ind : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n0 m) -> + cupicef.Term cupicef.prop (P m)) -> + cupicef.Term cupicef.prop (P n0)) -> + cupicef.Term cupicef.prop (P n) + +:= lt__wf__ind. + +def lt__wf__double__rec : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) -> + __ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p n) -> + cupicef.Term cupicef.set (P p q)) -> + __0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p m) -> + cupicef.Term cupicef.set (P n p)) -> + cupicef.Term cupicef.set (P n m)) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set (P n m) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.set) => + Hrec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p n) -> + cupicef.Term cupicef.set (P p q)) -> + __0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p m) -> + cupicef.Term cupicef.set (P n p)) -> + cupicef.Term cupicef.set (P n m)) => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.set (cupicef.rule cupicef.set cupicef.set) + ((n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n m)) + p) + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P p m)) + cupicef.I + (lt__wf__rec p + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n m)) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set (P m m0)) => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.set cupicef.set + ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n n0) + q) + (P n q) cupicef.I + (lt__wf__rec q + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P n n0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + cupicef.Term cupicef.set (P n m)) => + Hrec n n0 + (p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p0 n) => + H p0 H1 q0) + H0)))). + +thm lt__wf__double__ind : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p n) -> + cupicef.Term cupicef.prop (P p q)) -> + __0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p m) -> + cupicef.Term cupicef.prop (P n p)) -> + cupicef.Term cupicef.prop (P n m)) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P n m) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Hrec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p n) -> + cupicef.Term cupicef.prop (P p q)) -> + __0 : + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p m) -> + cupicef.Term cupicef.prop (P n p)) -> + cupicef.Term cupicef.prop (P n m)) => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.prop (cupicef.rule cupicef.set cupicef.prop) + ((n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n m)) + p) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P p m)) + cupicef.I + (lt__wf__ind p + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n m)) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P m m0)) => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast cupicef.prop cupicef.prop + ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n n0) + q) + (P n q) cupicef.I + (lt__wf__ind q + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P n n0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + cupicef.Term cupicef.prop (P n m)) => + Hrec n n0 + (p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt p0 n) => + H p0 H1 q0) + H0)))). + +def inv__lt__rel : + A : cupicef.Univ cupicef.set -> + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ cupicef.set => + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (F y m) + (__ : cupicef.Term cupicef.prop (F y m) => Coq__Init__Peano.lt n m))). + +def let__i : + A : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) -> + x : cupicef.Term cupicef.set A -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n)) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + fxn : cupicef.Term cupicef.prop (F x n) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + x0 : cupicef.Term cupicef.set A -> + fxn0 : cupicef.Term cupicef.prop (F x0 m) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0)) -> + x0 : cupicef.Term cupicef.set A -> + fxn0 : cupicef.Term cupicef.prop (F x0 n0) -> + y : cupicef.Term cupicef.set A -> + H1 : cupicef.Term cupicef.prop (R y x0) -> + cupicef.Term cupicef.prop (inv__lt__rel A F y x0) + +:= A : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) => + x : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n)) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + fxn : cupicef.Term cupicef.prop (F x n) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + x0 : cupicef.Term cupicef.set A -> + fxn0 : cupicef.Term cupicef.prop (F x0 m) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0)) => + x0 : cupicef.Term cupicef.set A => + fxn0 : cupicef.Term cupicef.prop (F x0 n0) => + y : cupicef.Term cupicef.set A => + H1 : cupicef.Term cupicef.prop (R y x0) => + F__compat y x0 H1. + +thm acc__lt__rel : + A : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) -> + x : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n)) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + R x) + +:= A : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) => + x : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n)) => + Coq__Init__Logic.match____ex cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F x n)) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + R x) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + fxn : cupicef.Term cupicef.prop (F x n) => + cupicef.cast cupicef.prop + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term cupicef.set A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (F x0 n0) + (fxn0 : cupicef.Term cupicef.prop (F x0 n0) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0))) + n) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term cupicef.set A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (F x0 n) + (fxn0 : cupicef.Term cupicef.prop (F x0 n) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0))) + cupicef.I + (lt__wf__ind n + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term cupicef.set A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + F x0 n0) + (fxn0 : cupicef.Term cupicef.prop (F x0 n0) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n0) -> + x0 : cupicef.Term cupicef.set A -> + fxn0 : cupicef.Term cupicef.prop (F x0 m) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0)) => + x0 : cupicef.Term cupicef.set A => + fxn0 : cupicef.Term cupicef.prop (F x0 n0) => + Coq__Init__Wf.Acc__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R x0 + (y : cupicef.Term cupicef.set A => + H1 : cupicef.Term cupicef.prop (R y x0) => + Coq__Init__Logic.match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + F y n1) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (F x0 m) + (__ : cupicef.Term cupicef.prop (F x0 m) => + Coq__Init__Peano.lt n1 m))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + F y n1) + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (F x0 m) + (__ : cupicef.Term cupicef.prop (F x0 m) => + Coq__Init__Peano.lt n1 m)))) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R y) + (x1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H2 : cupicef.Term cupicef.prop (F y x1) => + H3 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (F x0 m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt x1 m)) => + H0 x1 (H3 n0 fxn0) y H2) + (let__i A R F F__compat x H n fxn n0 H0 x0 fxn0 y H1)))) + x fxn) + H. + +thm well__founded__inv__lt__rel__compat : + A : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.well__founded + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + R) + +:= A : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + F__compat : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (inv__lt__rel A F x y)) => + a : cupicef.Term cupicef.set A => + Coq__Init__Wf.Acc__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + R a + (y : cupicef.Term cupicef.set A => + H : cupicef.Term cupicef.prop (R y a) => + Coq__Init__Logic.match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F y n) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (F a m) + (__ : cupicef.Term cupicef.prop (F a m) => + Coq__Init__Peano.lt n m))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + F y n) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (F a m) + (__ : cupicef.Term cupicef.prop (F a m) => + Coq__Init__Peano.lt n m)))) => + Coq__Init__Wf.Acc + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + R y) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (F y x) => + H1 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (F a m) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt x m)) => + acc__lt__rel A R F F__compat y + (Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => F y n) + x H0)) + (F__compat y a H)). + +thm well__founded__inv__rel__inv__lt__rel : + A : cupicef.Univ cupicef.set -> + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.well__founded + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + (inv__lt__rel A F)) + +:= A : cupicef.Univ cupicef.set => + F : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + well__founded__inv__lt__rel__compat A (inv__lt__rel A F) F + (x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + H : cupicef.Term cupicef.prop (inv__lt__rel A F x y) => + H). + +def has__unique__least__element : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Logic.ex A + (Coq__Init__Logic.unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => R x x_27_))))). + +def let__o : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + HPn0 : cupicef.Term cupicef.prop (P n0) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) -> + IH : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n1 n_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n1) (Coq__Init__Logic.not (P n1))) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + HPn0 : cupicef.Term cupicef.prop (P n0) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) => + IH : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n1 n_27_)) => + Pdec n1. + +def let__H3 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + HPn0 : cupicef.Term cupicef.prop (P n0) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) -> + IH : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n1 n_27_)) -> + HP : cupicef.Term cupicef.prop (Coq__Init__Logic.not (P n1)) -> + n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + Hn_27_ : cupicef.Term cupicef.prop (P n_27_) -> + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n2 m) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + HPn0 : cupicef.Term cupicef.prop (P n0) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) => + IH : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n1 n_27_)) => + HP : cupicef.Term cupicef.prop (Coq__Init__Logic.not (P n1)) => + n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Hn_27_ : cupicef.Term cupicef.prop (P n_27_) => + n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n2 m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n2 m) => + Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) => + Coq__Init__Peano.lt n2 m)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Peano.lt n2 m) + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n2 m) => + Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) => + Coq__Init__Peano.lt n2 m))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) => + Coq__Init__Peano.lt n2 m)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n2 m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m)))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.le n2 m) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n2 m))) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.lt n2 m)) => + __0) + (Coq__Arith__PeanoNat.Nat__le__neq n2 m). + +def let__H2 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + HPn0 : cupicef.Term cupicef.prop (P n0) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n n_27_)))) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + HPn0 : cupicef.Term cupicef.prop (P n0) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) + (Coq__Init__Logic.or__intror + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ Coq__Init__Datatypes.O) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le Coq__Init__Datatypes.O n_27_))) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (P n_27_) => + Coq__Arith__PeanoNat.Nat__le__0__l n_27_)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n1 n_27_)))) => + Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__0 : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P n_27_) + (__0 : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) n_27_)))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) => + Coq__Init__Logic.match____ex cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_))))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) => + Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__0 : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__0 : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) n_27_)))) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_))))) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n1) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_))))) => + Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_0 + (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_0) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__0 : + cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_0 n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_0) + (__0 : cupicef.Term cupicef.prop (P n_27_0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) + n_27_0)))) + (IH1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n_27_ n1) => + IH2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_0 + (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_0) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_0 n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_0) + (__ : cupicef.Term cupicef.prop (P n_27_0) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) + n_27_0))) + (Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_0 + (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_0) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_0 n_27__27_))))) + n_27_ + (Coq__Init__Logic.conj + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n_27_) + (Coq__Init__Datatypes.S n1)) + (Coq__Init__Peano.lt n_27_ + (Coq__Init__Datatypes.S n1)) + cupicef.I + (Coq__Init__Peano.le__S + (Coq__Init__Datatypes.S n_27_) n1 IH1)) + IH2))) + H1) + H0) + (IH : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n1 n_27_)) => + Coq__Init__Logic.match____or cupicef.prop (P n1) + (Coq__Init__Logic.not (P n1)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n1) (Coq__Init__Logic.not (P n1))) => + Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__0 : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__0 : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) n_27_)))) + (HP : cupicef.Term cupicef.prop (P n1) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) n_27_))) + (Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_))))) + n1 + (Coq__Init__Logic.conj + (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n1) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n1 n_27__27_)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) + (Coq__Init__Datatypes.S n1)) + (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n1)) + cupicef.I + (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S n1))) + (Coq__Init__Logic.conj (P n1) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n1 n_27__27_))) + HP IH)))) + (HP : cupicef.Term cupicef.prop (Coq__Init__Logic.not (P n1)) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and + (Coq__Init__Peano.lt n_27_ (Coq__Init__Datatypes.S n1)) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le (Coq__Init__Datatypes.S n1) n_27_))) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Hn_27_ : cupicef.Term cupicef.prop (P n_27_) => + let__H3 P Pdec H n0 HPn0 n n1 IHn IH HP n_27_ Hn_27_ n1 n_27_ + (Coq__Init__Logic.conj (Coq__Init__Peano.le n1 n_27_) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n_27_)) + (IH n_27_ Hn_27_) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n_27_) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n_27_) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n_27_)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 n_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 + (n_27_0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27_0) + (Hn_27_0 : cupicef.Term cupicef.prop (P n_27_0) => + Coq__Init__Logic.False)) + (Hn_27_0 : cupicef.Term cupicef.prop (P n1) => + HP Hn_27_0) + n_27_ H0 Hn_27_))))) + (let__o P Pdec H n0 HPn0 n n1 IHn IH)) + IHn) + n. + +def let__o0 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + HPn0 : cupicef.Term cupicef.prop (P n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n0 n_27_)))) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + HPn0 : cupicef.Term cupicef.prop (P n0) => + let__H2 P Pdec H n0 HPn0 n0. + +thm dec__inh__nat__subset__has__unique__least__element : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) -> + cupicef.Term cupicef.prop + (has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + Pdec : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (P n) (Coq__Init__Logic.not (P n)))) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + Coq__Init__Logic.match____ex cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P n)) => + has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + HPn0 : cupicef.Term cupicef.prop (P n0) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n0 n_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27_) + (__ : cupicef.Term cupicef.prop (P n_27_) => + Coq__Init__Peano.le n0 n_27_)))) => + has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) => + Coq__Init__Logic.match____ex cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_))))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (Coq__Init__Peano.lt n_27_ n0) + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n_27_ n_27__27_)))))) => + has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.lt n n0) + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_))))) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Peano.lt n n0) + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_)))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Peano.lt n n0) + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_))))) => + has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n n0) => + H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_)))) => + Coq__Init__Logic.match____and cupicef.prop (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n_27__27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P n_27__27_) + (__ : cupicef.Term cupicef.prop (P n_27__27_) => + Coq__Init__Peano.le n n_27__27_)))) => + has__unique__least__element + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Peano.le P) + (H4 : cupicef.Term cupicef.prop (P n) => + H5 : + (n_27__27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27__27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n n_27__27_)) => + Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Logic.unique + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (P x) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le x x_27_))))) + n + (Coq__Init__Logic.conj + (Coq__Init__Logic.and (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n x_27_)))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (P x_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_0) + (__ : + cupicef.Term cupicef.prop (P x_27_0) => + Coq__Init__Peano.le x_27_ x_27_0)))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P x_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (P x_27_0) + (__ : + cupicef.Term cupicef.prop + (P x_27_0) => + Coq__Init__Peano.le x_27_ x_27_0)))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n x_27_))) + (Coq__Init__Logic.conj (P n) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n x_27_))) + H4 H5) + (n_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H6 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : + cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_)))) => + Coq__Init__Logic.match____and cupicef.prop (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (P x_27_) + (__ : + cupicef.Term cupicef.prop + (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_)))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n_27_) + (HPn_27_ : cupicef.Term cupicef.prop (P n_27_) => + Hn_27_ : + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n_27_ x_27_)) => + Coq__Arith__PeanoNat.Nat__le__antisymm n n_27_ + (H5 n_27_ HPn_27_) (Hn_27_ n H4)) + H6))) + H3) + H1) + H0) + (H0 : + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P n_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 n_27_)) => + Coq__Init__Logic.ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Logic.unique + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.and (P x) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le x x_27_))))) + n0 + (Coq__Init__Logic.conj + (Coq__Init__Logic.and (P n0) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n0 x_27_)))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (P x_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_0) + (__ : cupicef.Term cupicef.prop (P x_27_0) => + Coq__Init__Peano.le x_27_ x_27_0)))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P x_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_0) + (__ : cupicef.Term cupicef.prop (P x_27_0) => + Coq__Init__Peano.le x_27_ x_27_0)))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 x_27_))) + (Coq__Init__Logic.conj (P n0) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n0 x_27_))) + HPn0 H0) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_)))) => + Coq__Init__Logic.match____and cupicef.prop (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (P n_27_) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (x_27_ : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Peano.le n_27_ x_27_)))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n_27_) + (HPn_27_ : cupicef.Term cupicef.prop (P n_27_) => + Hn_27_ : + (x_27_ : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Peano.le n_27_ x_27_)) => + Coq__Arith__PeanoNat.Nat__le__antisymm n0 n_27_ + (H0 n_27_ HPn_27_) (Hn_27_ n0 HPn0)) + H1))) + (let__o0 P Pdec H n0 HPn0)) + H. + +(; End of translation. ;) diff --git a/out/Coq__Bool__Bool.dk b/out/Coq__Bool__Bool.dk new file mode 100644 index 000000000..2f62500c9 --- /dev/null +++ b/out/Coq__Bool__Bool.dk @@ -0,0 +1,48232 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Is__true : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False b. + +def let__H0 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H. + +def let__H1 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H. + +def bool__dec : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool__rec + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.bool + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 x)))) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b))) + (Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H0 b1 b2 x H)))) + x) + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false b) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false b))) + (Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H1 b1 b2 x H)))) + (Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + x) + b1 b2. + +def let__H2 : + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H. + +thm diff__true__false : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + +:= cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False (let__H2 H)). + +def let__H3 : + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H. + +thm diff__false__true : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + +:= cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False (let__H3 H)). + +def let__H4 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +def let__H5 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H1. + +thm eq__true__false__abs : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) => + Coq__Init__Logic.False))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I + (Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H4 b H H0 H1 H2))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I + (Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H5 b H H0 H1 H2))) + b H H0. + +def let__H7 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H6 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 (let__H7 b H H0). + +thm not__true__is__false : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H1) + (let__H6 b H H0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b H. + +def let__H9 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false. + +def let__H8 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + H0 (let__H9 b H H0). + +thm not__false__is__true : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H1) + (let__H8 b H H0))) + b H. + +def let__H11 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H10 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H (let__H11 b H). + +thm not__true__iff__false : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H1) + (let__H10 b H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I + (diff__false__true + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false H)))))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I (diff__false__true H0))))) + b. + +def let__H13 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false. + +def let__H12 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + H (let__H13 b H). + +thm not__false__iff__true : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I + (diff__false__true + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false + H0)))))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H1) + (let__H12 b H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + Coq__Init__Logic.False cupicef.I (diff__false__true H))))) + b. + +def leb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) + Coq__Init__Logic.True b1. + +thm leb__implb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (leb b1 b2) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb b1 b2) Coq__Init__Datatypes.true)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff (leb b1 b) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb b1 b) Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff (leb b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (leb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.True))) + (Coq__Init__Logic.iff + (leb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.True)) + (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.I))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff (leb b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (leb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.True))) + (Coq__Init__Logic.iff + (leb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.implb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.True)) + (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.I))) + b1) + b2. + +def eqb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.match____bool cupicef.set + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false b2) + (Coq__Init__Datatypes.match____bool cupicef.set + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true b2) + b1. + +def let__H14 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) -> + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) -> + H0 : cupicef.Term cupicef.prop (P b1) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) -> + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) => + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) => + H0 : cupicef.Term cupicef.prop (P b1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +def let__H15 : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) -> + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) -> + H0 : cupicef.Term cupicef.prop (P b1) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) -> + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) => + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) => + H0 : cupicef.Term cupicef.prop (P b1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +thm eqb__subst : + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) -> + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) -> + __0 : cupicef.Term cupicef.prop (P b1) -> + cupicef.Term cupicef.prop (P b2) + +:= P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) => + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b2) Coq__Init__Datatypes.true) => + H0 : cupicef.Term cupicef.prop (P b1) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b) Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 b) Coq__Init__Datatypes.true) => + P b)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P b) + (H3 : cupicef.Term cupicef.prop (P b) => + P Coq__Init__Datatypes.true))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop (P Coq__Init__Datatypes.true) + (P Coq__Init__Datatypes.true) cupicef.I H3) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop (P Coq__Init__Datatypes.true) + (P Coq__Init__Datatypes.true) cupicef.I + (Coq__Init__Logic.False__ind (P Coq__Init__Datatypes.true) + (let__H14 P b1 b2 H H0 H1 H2 H3))) + b1 H1 H0) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b1 Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P b) + (H3 : cupicef.Term cupicef.prop (P b) => + P Coq__Init__Datatypes.false))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (P Coq__Init__Datatypes.false) (P Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.False__ind (P Coq__Init__Datatypes.false) + (let__H15 P b1 b2 H H0 H1 H2 H3))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (P Coq__Init__Datatypes.false) (P Coq__Init__Datatypes.false) + cupicef.I H3) + b1 H1 H0) + b2 H. + +thm eqb__reflx : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b b) Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 b0) Coq__Init__Datatypes.true) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b. + +def let__H16 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.true) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.true) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H1. + +thm eqb__prop : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b0) Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b0) Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I H1) + a H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (let__H16 a b H H0 H1))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + a H0) + b H. + +thm eqb__true__iff : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b0) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b0)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.true) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H))) + a) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.false) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false H)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true))) + a) + b. + +def let__H18 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H17 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H (let__H18 a b H). + +def let__H20 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false. + +def let__H19 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + H (let__H20 a b H). + +thm eqb__false__iff : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b))) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb a b0) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a b0))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.true) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + Coq__Init__Logic.False Coq__Init__Logic.False cupicef.I + (diff__false__true + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false H)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H1) + (let__H17 a b H)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + Coq__Init__Logic.False Coq__Init__Logic.False cupicef.I + (diff__false__true H0))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false))) + a) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 Coq__Init__Datatypes.false) Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + Coq__Init__Logic.False Coq__Init__Logic.False cupicef.I + (diff__false__true + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false H0)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + Coq__Init__Logic.False Coq__Init__Logic.False cupicef.I + (diff__false__true + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false H)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H1) + (let__H19 a b H)))) + a) + b. + +def ifb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + b2 b3 b1. + +thm negb__orb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.orb b1 b2)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.negb b1) + (Coq__Init__Datatypes.negb b2))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.orb b1 b)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.negb b1) + (Coq__Init__Datatypes.negb b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.negb b) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.negb b) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + b2. + +thm negb__andb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.andb b1 b2)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.negb b1) + (Coq__Init__Datatypes.negb b2))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.andb b1 b)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.negb b1) + (Coq__Init__Datatypes.negb b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.negb b) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.negb b) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + b2. + +thm negb__involutive : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.negb b)) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.negb b0)) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm negb__involutive__reverse : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.negb b))) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.negb b0))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm negb__sym : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b_27_ (Coq__Init__Datatypes.negb b)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.negb b_27_)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b_27_ (Coq__Init__Datatypes.negb b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.negb b)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.negb b)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.negb b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.negb b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.negb b0)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.negb b0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + cupicef.I H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (Coq__Init__Datatypes.negb b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (Coq__Init__Datatypes.negb b0)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (Coq__Init__Datatypes.negb b0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + cupicef.I H1) + b H0) + b_27_ H. + +def let__H21 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H. + +def let__H22 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H. + +thm no__fixpoint__negb : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False (let__H21 b H)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False (let__H22 b H)))) + b. + +thm eqb__negb1 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb (Coq__Init__Datatypes.negb b) b) Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb (Coq__Init__Datatypes.negb b0) b0) Coq__Init__Datatypes.false) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm eqb__negb2 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b (Coq__Init__Datatypes.negb b)) Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb b0 (Coq__Init__Datatypes.negb b0)) Coq__Init__Datatypes.false) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (eqb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm if__negb : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) x y + (Coq__Init__Datatypes.negb b)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) y x + b)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) x y + (Coq__Init__Datatypes.negb b0)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) y x + b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + x y (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + y) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + x y (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + x) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + b. + +thm negb__true__iff : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false H)))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true))) + b. + +thm negb__false__iff : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true H)))) + b. + +thm orb__true__iff : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b) Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + H))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H0) + H))) + b1) + b2. + +thm orb__false__iff : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b) Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H1) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H1) + H))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + H0) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H))) + b1) + b2. + +def orb__true__elim : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b b2) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b b2) Coq__Init__Datatypes.true) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)))) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true b2) + Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true b2) + Coq__Init__Datatypes.true) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)))) + cupicef.I + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) + H)) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b2) + Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b2) + Coq__Init__Datatypes.true) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)))) + cupicef.I + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) => + Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true) + H)) + b1. + +def let__H23 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb a b) Coq__Init__Datatypes.true) -> + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb a b) Coq__Init__Datatypes.true) => + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true)) => + __) + (orb__true__iff b1 b2). + +thm orb__prop : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb a b) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + a Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb a b) Coq__Init__Datatypes.true) => + let__H23 a b H a b H. + +def let__H24 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.true)) => + __0) + (orb__true__iff b3 b4). + +thm orb__true__intro : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + let__H24 b1 b2 H b1 b2 H. + +thm orb__false__intro : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b2) Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b3) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + b2 H0) + b1 H. + +def let__H25 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b3 b4) Coq__Init__Datatypes.false)) => + __) + (orb__false__iff b3 b4). + +thm orb__false__elim : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) Coq__Init__Datatypes.false) => + let__H25 b1 b2 H b1 b2 H. + +thm orb__diag : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b b) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b0 b0) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm orb__true__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b. + +thm orb__true__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true b) + Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +thm orb__false__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.false) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm orb__false__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b0) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm orb__negb__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b (Coq__Init__Datatypes.negb b)) + Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b0 (Coq__Init__Datatypes.negb b0)) + Coq__Init__Datatypes.true) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b. + +thm orb__comm : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b2) (Coq__Init__Datatypes.orb b2 b1)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 b) (Coq__Init__Datatypes.orb b b1)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true b)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false b)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2. + +thm orb__assoc : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.orb b2 b3)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.orb b1 b2) b3)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.orb b2 b)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.orb b1 b2) b)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.orb b1 b) + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.orb b1 b) + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm andb__true__iff : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b) Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H0) + H))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H1) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H1) + H))) + b1) + b2. + +thm andb__false__iff : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b) Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H0) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.or__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H))) + b1) + b2. + +def let__H26 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H1. + +def let__H27 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H1. + +def let__H28 : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H1. + +def andb__true__eq : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true a) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (Coq__Init__Datatypes.andb a b0)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true a) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + H1 H1)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (let__H26 a b H H0 H1))) + a H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b0) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (let__H27 a b H H0 H1))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (let__H28 a b H H0 H1))) + a H0) + b H. + +def let__H29 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) => + __0) + (andb__false__iff b3 b4). + +thm andb__false__intro1 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) Coq__Init__Datatypes.false) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) => + let__H29 b1 b2 H b1 b2 + (Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) + H). + +def let__H30 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b4 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) + Coq__Init__Datatypes.false))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b3 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b4 Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b3 b4) Coq__Init__Datatypes.false)) => + __0) + (andb__false__iff b3 b4). + +thm andb__false__intro2 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) Coq__Init__Datatypes.false) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) => + let__H30 b1 b2 H b1 b2 + (Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) + H). + +thm andb__false__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm andb__false__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false b) + Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false. + +thm andb__diag : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b b) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b0 b0) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm andb__true__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm andb__true__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true b) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b. + +def andb__false__elim : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b b2) Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b b2) + Coq__Init__Datatypes.false) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)))) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true b2) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true b2) + Coq__Init__Datatypes.false) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)))) + cupicef.I + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) => + Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) + H)) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)))) + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.set) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false b2) + Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + b2) + Coq__Init__Datatypes.false) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false)))) + cupicef.I + (b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.false) + H)) + b1. + +thm andb__negb__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b (Coq__Init__Datatypes.negb b)) + Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b0 (Coq__Init__Datatypes.negb b0)) + Coq__Init__Datatypes.false) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm andb__comm : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b2) (Coq__Init__Datatypes.andb b2 b1)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 b) (Coq__Init__Datatypes.andb b b1)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true b)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false b)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2. + +thm andb__assoc : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.andb b2 b3)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.andb b1 b2) b3)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.andb b2 b)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.andb b1 b2) b)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.andb b1 b) + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.andb b1 b) + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm andb__orb__distrib__r : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.orb b2 b3)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b2) + (Coq__Init__Datatypes.andb b1 b3))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.orb b2 b)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b2) + (Coq__Init__Datatypes.andb b1 b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b) + (Coq__Init__Datatypes.andb b1 Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b) + (Coq__Init__Datatypes.andb b1 Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm andb__orb__distrib__l : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b2) b3) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b3) + (Coq__Init__Datatypes.andb b2 b3))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b2) b) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b) + (Coq__Init__Datatypes.andb b2 b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b1 Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b1 Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm orb__andb__distrib__r : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.andb b2 b3)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b2) + (Coq__Init__Datatypes.orb b1 b3))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.andb b2 b)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b2) + (Coq__Init__Datatypes.orb b1 b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b) + (Coq__Init__Datatypes.orb b1 Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b) + (Coq__Init__Datatypes.orb b1 Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm orb__andb__distrib__l : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b2) b3) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b3) + (Coq__Init__Datatypes.orb b2 b3))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b3 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b2) b) + (Coq__Init__Datatypes.andb (Coq__Init__Datatypes.orb b1 b) + (Coq__Init__Datatypes.orb b2 b))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b1 Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b1) + b2) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb (Coq__Init__Datatypes.andb b1 b) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b1 Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.andb + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2) + b3. + +thm absorption__andb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.orb b1 b2)) b1) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b1 (Coq__Init__Datatypes.orb b1 b)) b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.true)) + b) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb b + (Coq__Init__Datatypes.orb b Coq__Init__Datatypes.false)) + b) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2. + +thm absorption__orb : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.andb b1 b2)) b1) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b1 (Coq__Init__Datatypes.andb b1 b)) b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true)) + b) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb b + (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false)) + b) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1) + b2. + +thm xorb__false__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm xorb__false__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b) b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0) b0) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm xorb__true__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b). + +thm xorb__true__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b) + (Coq__Init__Datatypes.negb b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b). + +thm xorb__nilpotent : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b) Coq__Init__Datatypes.false) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 b0) Coq__Init__Datatypes.false) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b. + +thm xorb__comm : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) + (Coq__Init__Datatypes.xorb b_27_ b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) (Coq__Init__Datatypes.xorb b0 b)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b) + b_27_. + +thm xorb__assoc__reverse : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.xorb b b_27_) + b_27__27_) + (Coq__Init__Datatypes.xorb b + (Coq__Init__Datatypes.xorb b_27_ b_27__27_))) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.xorb b b_27_) b0) + (Coq__Init__Datatypes.xorb b (Coq__Init__Datatypes.xorb b_27_ b0))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.xorb b b0) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb b + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b) + b_27_) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.xorb b b0) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb b + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b) + b_27_) + b_27__27_. + +def let__H31 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H1. + +thm xorb__eq : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b_27_) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.false) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H31 b b_27_ H H0 H1))) + b H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + cupicef.I H1) + b H0) + b_27_ H. + +def let__H32 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +def let__H33 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +thm xorb__move__l__r__1 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b_27_ (Coq__Init__Datatypes.xorb b b_27__27_)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b_27_ (Coq__Init__Datatypes.xorb b b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (let__H32 b b_27_ b_27__27_ H H0 H1 H2))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I H2) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I H2) + b H1) + b_27_ H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.false) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I H2) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H33 b b_27_ b_27__27_ H H0 H1 H2))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I H2) + b H1) + b_27_ H0) + b_27__27_ H. + +def let__H34 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +def let__H35 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +thm xorb__move__l__r__2 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27__27_ b_27_)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b_27__27_) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) b0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 b_27_))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (let__H34 b b_27_ b_27__27_ H H0 H1 H2))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I H2) + b H1) + b_27_ H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27_) Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) Coq__Init__Datatypes.false) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H35 b b_27_ b_27__27_ H H0 H1 H2))) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I H2) + b H1) + b_27_ H0) + b_27__27_ H. + +def let__H36 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +def let__H37 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +thm xorb__move__r__l__1 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b_27_ b) b_27__27_) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b_27_ b) b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 b) Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H36 b b_27_ b_27__27_ H H0 H1 H2))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I H2) + b H1) + b_27_ H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 b) Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (let__H37 b b_27_ b_27__27_ H H0 H1 H2))) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I H2) + b H1) + b_27_ H0) + b_27__27_ H. + +def let__H38 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +def let__H39 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +thm xorb__move__r__l__2 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b_27__27_) b_27_) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27__27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b_27__27_)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ b0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b b0) b_27_)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.true) b0)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H38 b b_27_ b_27__27_ H H0 H1 H2))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (let__H39 b b_27_ b_27__27_ H H0 H1 H2))) + b H1) + b_27_ H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b_27_ Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b Coq__Init__Datatypes.false) b0)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I H2) + b H1) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb b0 Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I H2) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false) + cupicef.I H2) + b H1) + b_27_ H0) + b_27__27_ H. + +thm negb__xorb__l : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.xorb b b_27_)) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.negb b) b_27_)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.bool + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.xorb b0 b_27_)) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.negb b0) b_27_))) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0)) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) b0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.false)) + b_27_) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0)) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) b0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.false)) + b_27_) + b. + +thm negb__xorb__r : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.xorb b b_27_)) + (Coq__Init__Datatypes.xorb b (Coq__Init__Datatypes.negb b_27_))) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.bool + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb (Coq__Init__Datatypes.xorb b0 b_27_)) + (Coq__Init__Datatypes.xorb b0 (Coq__Init__Datatypes.negb b_27_)))) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0)) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb b0))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + b_27_) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0)) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb b0))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + b_27_) + b. + +thm xorb__negb__negb : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.negb b) + (Coq__Init__Datatypes.negb b_27_)) + (Coq__Init__Datatypes.xorb b b_27_)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.bool + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb (Coq__Init__Datatypes.negb b0) + (Coq__Init__Datatypes.negb b_27_)) + (Coq__Init__Datatypes.xorb b0 b_27_))) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + (Coq__Init__Datatypes.negb b0)) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true b0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + b_27_) + (b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + (Coq__Init__Datatypes.negb b0)) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false b0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.xorb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + b_27_) + b. + +def let__H40 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 (let__H40 b1 b2 H H0 H1). + +def let__H41 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H1 H2. + +def let__H43 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H42 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H1 (let__H43 b1 b2 H H0 H1). + +def let__H44 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H0 H2. + +def let__H46 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H45 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 (let__H46 b1 b2 H H0 H1). + +def let__H47 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) -> + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H1 H2. + +thm eq__iff__eq__true : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true))) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (let__H b1 b2 H H0 H1)) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + H2) (let__H42 b1 b2 H H0 H1)) + H))) + b1) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false H)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true + H2)) + (let__H45 b1 b2 H H0 H1)) + H))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false))) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.false) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (H0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + H))) + b1) + b2. + +def let__H48 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) => + Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true))) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2)) => + __0) + (eq__iff__eq__true b1 b2). + +thm eq__true__iff__eq : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b2 Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + +:= let__H48. + +def let__H50 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H49 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) => + H0 (let__H50 b H H0). + +thm eq__true__negb__classical : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H1) + (let__H49 b H H0))) + b H. + +def let__H52 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H51 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H0 (let__H52 b H H0). + +thm eq__true__not__negb : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b) Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb b0) Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true) + Coq__Init__Datatypes.true) + cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H1) + (let__H51 b H H0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false) + Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + b H. + +thm absurd__eq__bool : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b_27_) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b_27_) + H. + +thm absurd__eq__true : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + H. + +thm trans__eq__bool : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + z : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + y z) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x z) + +:= Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool). + +thm Is__true__eq__true : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x Coq__Init__Datatypes.true) + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true x) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (Is__true b) + (H0 : cupicef.Term cupicef.prop (Is__true b) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + (H0 : cupicef.Term cupicef.prop (Is__true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H0 : cupicef.Term cupicef.prop (Is__true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H0)) + x H. + +thm Is__true__eq__left : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop (Is__true x) + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (x0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => Is__true x0) + (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true Coq__Init__Datatypes.true) cupicef.I Coq__Init__Logic.I) + x H. + +thm Is__true__eq__right : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true x) -> + cupicef.Term cupicef.prop (Is__true x) + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true x) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (x0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => Is__true x0) + (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true Coq__Init__Datatypes.true) cupicef.I Coq__Init__Logic.I) + x H. + +thm eqb__refl : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop (Is__true (eqb x x)) + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Is__true (eqb b b)) + (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + cupicef.I Coq__Init__Logic.I) + (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + cupicef.I Coq__Init__Logic.I) + x. + +thm eqb__eq : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true (eqb x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x y) + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true (eqb x y)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (eqb x b)) + (H0 : cupicef.Term cupicef.prop (Is__true (eqb x b)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + x b)) + (H0 : + cupicef.Term cupicef.prop + (Is__true (eqb x Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (eqb b Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Is__true (eqb b Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H1)) + x H0) + (H0 : + cupicef.Term cupicef.prop + (Is__true (eqb x Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (eqb b Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Is__true (eqb b Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (eqb Coq__Init__Datatypes.true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H1)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (eqb Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + x H0) + y H. + +thm orb__prop__elim : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.orb a b)) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (Is__true a) (Is__true b)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.orb a b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.orb a b0)) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.orb a b0)) => + Coq__Init__Logic.or (Is__true a) (Is__true b0))) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.orb a Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.True Coq__Init__Logic.True) + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.or__introl Coq__Init__Logic.True + Coq__Init__Logic.True Coq__Init__Logic.I)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.False Coq__Init__Logic.True) + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.or__intror Coq__Init__Logic.False + Coq__Init__Logic.True Coq__Init__Logic.I)) + a H0) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.orb a Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.True Coq__Init__Logic.False) + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.or__introl Coq__Init__Logic.True + Coq__Init__Logic.False Coq__Init__Logic.I)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.False Coq__Init__Logic.False) + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.or Coq__Init__Logic.False + Coq__Init__Logic.False) + H1)) + a H0) + b H. + +thm orb__prop__intro : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop (Coq__Init__Logic.or (Is__true a) (Is__true b)) -> + cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.orb a b)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true a) (Is__true b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Is__true a) (Is__true b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true a) (Is__true b0)) => + Is__true (Coq__Init__Datatypes.orb a b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true a) + (Is__true Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.true)) => + Is__true (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I Coq__Init__Logic.I) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I Coq__Init__Logic.I) + a H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true a) + (Is__true Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true b0) + (Is__true Coq__Init__Datatypes.false)) => + Is__true (Coq__Init__Datatypes.orb b0 Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I Coq__Init__Logic.I) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true + (Coq__Init__Datatypes.orb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.or__ind Coq__Init__Logic.False + Coq__Init__Logic.False Coq__Init__Logic.False + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H2) + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H2) + H1)) + a H0) + b H. + +thm andb__prop__intro : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b1) (Is__true b2)) -> + cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.andb b1 b2)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b1) (Is__true b2)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Is__true b1) (Is__true b)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b1) (Is__true b)) => + Is__true (Coq__Init__Datatypes.andb b1 b))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Is__true b) + (Is__true Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b) + (Is__true Coq__Init__Datatypes.true)) => + Is__true (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + cupicef.I Coq__Init__Logic.I) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.and__ind Coq__Init__Logic.False + Coq__Init__Logic.True Coq__Init__Logic.False + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + H3 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H2) + H1)) + b1 H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (Is__true b) + (Is__true Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true b) + (Is__true Coq__Init__Datatypes.false)) => + Is__true (Coq__Init__Datatypes.andb b Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.and__ind Coq__Init__Logic.True + Coq__Init__Logic.False Coq__Init__Logic.False + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + H1)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.and__ind Coq__Init__Logic.False + Coq__Init__Logic.False Coq__Init__Logic.False + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + H1)) + b1 H0) + b2 H. + +thm andb__prop__elim : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.andb a b)) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (Is__true a) (Is__true b)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.andb a b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.andb a b0)) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.andb a b0)) => + Coq__Init__Logic.and (Is__true a) (Is__true b0))) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true)) => + Coq__Init__Logic.and (Is__true b0) + (Is__true Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and Coq__Init__Logic.True Coq__Init__Logic.True) + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj Coq__Init__Logic.True Coq__Init__Logic.True + H1 H1)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and Coq__Init__Logic.False Coq__Init__Logic.True) + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj Coq__Init__Logic.False + Coq__Init__Logic.True H1 Coq__Init__Logic.I)) + a H0) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.andb a Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false)) => + Coq__Init__Logic.and (Is__true b0) + (Is__true Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and Coq__Init__Logic.True Coq__Init__Logic.False) + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj Coq__Init__Logic.True + Coq__Init__Logic.False Coq__Init__Logic.I H1)) + (H1 : + cupicef.Term cupicef.prop + (Is__true + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and Coq__Init__Logic.False + Coq__Init__Logic.False) + (Coq__Init__Logic.and (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj Coq__Init__Logic.False + Coq__Init__Logic.False H1 H1)) + a H0) + b H. + +def let__H54 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.I. + +def let__H53 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 (let__H54 b1 b2 H H0 H1 H2 H3). + +def let__H55 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + H2 H4. + +def let__H57 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + Coq__Init__Logic.I. + +def let__H56 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H2 (let__H57 b1 b2 H H0 H1 H2 H3). + +def let__H58 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) -> + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) -> + H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + H3 H4. + +thm eq__bool__prop__intro : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff (Is__true b1) (Is__true b)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + cupicef.I + (Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.True)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + H4) + (let__H53 b1 b2 H H0 H1 H2 H3)) + H1)) + b1 H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) + (Is__true Coq__Init__Datatypes.false)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.false)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.True)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (H2 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.True) => + (H4 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + H4) + (let__H56 b1 b2 H H0 H1 H2 H3)) + H1)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + b1 H0) + b2 H. + +def let__H59 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H1. + +def let__H60 : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H1. + +thm eq__bool__prop__elim : + b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (Is__true b1) (Is__true b2)) + +:= b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b2 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b2) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 b) => + Coq__Init__Logic.iff (Is__true b1) (Is__true b))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.true) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) => + Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.true))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.True)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.True))) + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.True)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.True)) + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.I) + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.I))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.iff Coq__Init__Logic.False Coq__Init__Logic.True) + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.true)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.iff Coq__Init__Logic.False + Coq__Init__Logic.True) + (let__H59 b1 b2 H H0 H1))) + b1 H0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b1 Coq__Init__Datatypes.false) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) => + Coq__Init__Logic.iff (Is__true b) + (Is__true Coq__Init__Datatypes.false))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.iff Coq__Init__Logic.True Coq__Init__Logic.False) + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.true) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.iff Coq__Init__Logic.True + Coq__Init__Logic.False) + (let__H60 b1 b2 H H0 H1))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False))) + (Coq__Init__Logic.iff (Is__true Coq__Init__Datatypes.false) + (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H2) + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H2))) + b1 H0) + b2 H. + +thm negb__prop__elim : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.negb b)) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.negb b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Is__true (Coq__Init__Datatypes.negb b0)) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.negb b0)) => + Coq__Init__Logic.not (Is__true b0))) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not Coq__Init__Logic.True) + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.True) cupicef.I + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H0))) + (H0 : + cupicef.Term cupicef.prop + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not Coq__Init__Logic.False) + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.false)) + cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H1))) + b H. + +def let__H62 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) => + Coq__Init__Logic.I. + +def let__H61 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) => + H0 (let__H62 b H H0). + +thm negb__prop__intro : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) -> + cupicef.Term cupicef.prop (Is__true (Coq__Init__Datatypes.negb b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b)) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Is__true b0)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not (Is__true b0)) => + Is__true (Coq__Init__Datatypes.negb b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H1) + (let__H61 b H H0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true Coq__Init__Datatypes.false)) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + cupicef.I Coq__Init__Logic.I) + b H. + +def let__H64 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) => + Coq__Init__Logic.I. + +def let__H63 : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) => + H0 (let__H64 b H H0). + +thm negb__prop__classical : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) -> + cupicef.Term cupicef.prop (Is__true b) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b0))) => + Is__true b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True + (Is__true Coq__Init__Datatypes.true) cupicef.I Coq__Init__Logic.I) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) => + cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.False + (Is__true Coq__Init__Datatypes.false) cupicef.I + ((H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H1) + (let__H63 b H H0))) + b H. + +thm negb__prop__involutive : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (Is__true b) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b))) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (Is__true b) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (Is__true b0) + (H0 : cupicef.Term cupicef.prop (Is__true b0) => + Coq__Init__Logic.not (Is__true (Coq__Init__Datatypes.negb b0)))) + (H0 : cupicef.Term cupicef.prop (Is__true Coq__Init__Datatypes.true) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not Coq__Init__Logic.False) + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true))) + cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H1))) + (H0 : cupicef.Term cupicef.prop (Is__true Coq__Init__Datatypes.false) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.not Coq__Init__Logic.True) + (Coq__Init__Logic.not + (Is__true (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false))) + cupicef.I + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not Coq__Init__Logic.True) cupicef.I + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H0))) + b H. + +thm andb__if : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) a + a_27_ (Coq__Init__Datatypes.andb b b_27_)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b_27_0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ b_27_) + a_27_ b)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) a + a_27_ (Coq__Init__Datatypes.andb b b0)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b_27_0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ b0) + a_27_ b)) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a a_27_ + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.true)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a a_27_ b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.true)) + a) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_ a_27_) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.true)) + a_27_) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_)) + b) + (Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a a_27_ + (Coq__Init__Datatypes.andb b0 Coq__Init__Datatypes.false)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a_27_ a_27_ b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_ a_27_) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.true + Coq__Init__Datatypes.false)) + a_27_) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_ a_27_) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + A) + a a_27_ + (Coq__Init__Datatypes.andb Coq__Init__Datatypes.false + Coq__Init__Datatypes.false)) + a_27_) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_)) + b) + b_27_. + +thm negb__if : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) a + a_27_ (Coq__Init__Datatypes.negb b)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a_27_ a b)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) a + a_27_ (Coq__Init__Datatypes.negb b0)) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b1 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a_27_ a b0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_ a_27_) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a a_27_ (Coq__Init__Datatypes.negb Coq__Init__Datatypes.true)) + a_27_) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a_27_)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => A) + a a_27_ (Coq__Init__Datatypes.negb Coq__Init__Datatypes.false)) + a) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + b. + +thm andb__lazy__alt : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.andb a b) + (Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false a)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false a). + +thm orb__lazy__alt : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.orb a b) + (Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b a)) + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b a). + +def reflect : + P : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.set. + +def ReflectT : + P : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.set (reflect P Coq__Init__Datatypes.true). + +def ReflectF : + P : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.set (reflect P Coq__Init__Datatypes.false). + +[ ] cupicef.code_guarded? _ (ReflectT _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (ReflectF _ _) --> cupicef.guarded. + +def match____reflect : + s : cupicef.Sort -> + P : cupicef.Univ cupicef.prop -> + P0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set (reflect P __) -> + cupicef.Univ s) -> + case__ReflectT : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term s (P0 Coq__Init__Datatypes.true (ReflectT P __))) -> + case__ReflectF : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term s (P0 Coq__Init__Datatypes.false (ReflectF P __))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : cupicef.Term cupicef.set (reflect P __) -> + cupicef.Term s (P0 __ x). + +[ s, P, P0, case__ReflectT, case__ReflectF, __] + match____reflect s P P0 case__ReflectT case__ReflectF + {Coq__Init__Datatypes.true} (ReflectT P __) + --> + case__ReflectT __. + +[ s, P, P0, case__ReflectT, case__ReflectF, __] + match____reflect s P P0 case__ReflectT case__ReflectF + {Coq__Init__Datatypes.false} (ReflectF P __) + --> + case__ReflectF __. + +[ s, P, P0, s'] + match____reflect s P + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ x))) + --> + match____reflect s' P (__ => x => P0 __ x). + +def reflect__rect : + P : cupicef.Univ cupicef.prop -> + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : cupicef.Term cupicef.prop P -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 Coq__Init__Datatypes.true (ReflectT P p))) -> + f0 : + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 Coq__Init__Datatypes.false (ReflectF P n))) -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 b r) + +:= P : cupicef.Univ cupicef.prop => + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : cupicef.Term cupicef.prop P -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 Coq__Init__Datatypes.true (ReflectT P p))) => + f0 : + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 Coq__Init__Datatypes.false (ReflectF P n))) => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r : cupicef.Term cupicef.set (reflect P b) => + match____reflect (cupicef.type (cupicef.s cupicef.z)) P + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r0 : cupicef.Term cupicef.set (reflect P b0) => + P0 b0 r0) + f f0 b r. + +def reflect__ind : + P : cupicef.Univ cupicef.prop -> + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ cupicef.prop) -> + f : + (p : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop (P0 Coq__Init__Datatypes.true (ReflectT P p))) -> + f0 : + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop (P0 Coq__Init__Datatypes.false (ReflectF P n))) -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Term cupicef.prop (P0 b r) + +:= P : cupicef.Univ cupicef.prop => + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ cupicef.prop) => + f : + (p : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop (P0 Coq__Init__Datatypes.true (ReflectT P p))) => + f0 : + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop + (P0 Coq__Init__Datatypes.false (ReflectF P n))) => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r : cupicef.Term cupicef.set (reflect P b) => + match____reflect cupicef.prop P + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r0 : cupicef.Term cupicef.set (reflect P b0) => + P0 b0 r0) + f f0 b r. + +def reflect__rec : + P : cupicef.Univ cupicef.prop -> + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ cupicef.set) -> + f : + (p : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.set (P0 Coq__Init__Datatypes.true (ReflectT P p))) -> + f0 : + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.set (P0 Coq__Init__Datatypes.false (ReflectF P n))) -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Term cupicef.set (P0 b r) + +:= P : cupicef.Univ cupicef.prop => + P0 : + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + r : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Univ cupicef.set) => + reflect__rect P + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.bool + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (reflect P b) + (r : cupicef.Term cupicef.set (reflect P b) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I Coq__Init__Datatypes.bool + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (reflect P b) + (r : cupicef.Term cupicef.set (reflect P b) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I P0). + +def let__H65 : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.set (reflect P b) -> + n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + H0 : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.set (reflect P b) => + n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + H0 : cupicef.Term cupicef.prop P => + n H0. + +def let__H66 : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.set (reflect P b) -> + n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.set (reflect P b) => + n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H0. + +thm reflect__iff : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.set (reflect P b) => + match____reflect cupicef.prop P + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r : cupicef.Term cupicef.set (reflect P b0) => + Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (p : cupicef.Term cupicef.prop P => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I P + (__ : cupicef.Term cupicef.prop P => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + P)) + (H0 : cupicef.Term cupicef.prop P => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + p)) + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I P + (__ : cupicef.Term cupicef.prop P => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + P)) + (H0 : cupicef.Term cupicef.prop P => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (let__H65 P b H n H0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind P (let__H66 P b H n H0))) + b H. + +def let__H68 : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true. + +def let__H67 : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) -> + cupicef.Term cupicef.prop P + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) => + H2 (let__H68 P b H H0 H1 H2). + +def let__H69 : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) -> + H3 : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) => + H3 : cupicef.Term cupicef.prop P => + H1 H3. + +def iff__reflect : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) -> + cupicef.Term cupicef.set (reflect P b) + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true)) => + Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true)) => + reflect P b0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.set cupicef.set + (reflect P Coq__Init__Datatypes.true) + (reflect P Coq__Init__Datatypes.true) cupicef.I + (Coq__Init__Logic.and__rec + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I P + (__ : cupicef.Term cupicef.prop P => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + P)) + (reflect P Coq__Init__Datatypes.true) + (H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) => + (H3 : cupicef.Term cupicef.prop P => + cupicef.cast cupicef.set cupicef.set + (reflect P Coq__Init__Datatypes.true) + (reflect P Coq__Init__Datatypes.true) cupicef.I + (ReflectT P H3)) + (let__H67 P b H H0 H1 H2)) + H0)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff P + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + cupicef.cast cupicef.set cupicef.set + (reflect P Coq__Init__Datatypes.false) + (reflect P Coq__Init__Datatypes.false) cupicef.I + (Coq__Init__Logic.and__rec + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I P + (__ : cupicef.Term cupicef.prop P => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + P)) + (reflect P Coq__Init__Datatypes.false) + (H1 : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop P) => + cupicef.cast cupicef.set cupicef.set + (reflect P Coq__Init__Datatypes.false) + (reflect P Coq__Init__Datatypes.false) cupicef.I + (ReflectF P + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I P + (H3 : cupicef.Term cupicef.prop P => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not P) cupicef.I + (H3 : cupicef.Term cupicef.prop P => + diff__false__true (H1 H3))))) + H0)) + b H. + +def reflect__dec : + P : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.set (reflect P b) -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool P (Coq__Init__Logic.not P)) + +:= P : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.set (reflect P b) => + match____reflect cupicef.set P + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + r : cupicef.Term cupicef.set (reflect P b0) => + Coq__Init__Specif.sumbool P (Coq__Init__Logic.not P)) + (p : cupicef.Term cupicef.prop P => + Coq__Init__Specif.left P (Coq__Init__Logic.not P) p) + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Specif.right P (Coq__Init__Logic.not P) n) + b H. + +(; End of translation. ;) diff --git a/out/Coq__Bool__BoolEq.dk b/out/Coq__Bool__BoolEq.dk new file mode 100644 index 000000000..cfac036fc --- /dev/null +++ b/out/Coq__Bool__BoolEq.dk @@ -0,0 +1,1120 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def beq__eq__true : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term cupicef.set A => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y0)) + (beq__refl x) y H. + +def let__H0 : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e0) + Coq__Init__Logic.I Coq__Init__Datatypes.true H. + +def beq__eq__not__false : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (beq x y))) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false b)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H0 A beq beq__refl x y e H))) + (beq x y) (beq__eq__true A beq beq__refl x y e). + +def beq__false__not__eq : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (beq x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (beq x y)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + beq__eq__not__false A beq beq__refl x y e H. + +def exists__beq__eq : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.bool + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (beq x y))) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + Coq__Init__Specif.exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (beq x y)) + (beq x y) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y)). + +def not__eq__false__beq : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__eq : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (beq x y)) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__eq : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.false + (Coq__Bool__Bool.not__true__is__false (beq x y) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.true) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.true)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.true) => + H + (beq__eq x y + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (beq x y) Coq__Init__Datatypes.true H0))))). + +def eq__dec : + A : cupicef.Univ cupicef.set -> + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) -> + beq__eq : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) + +:= A : cupicef.Univ cupicef.set => + beq : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + beq__refl : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x x))) => + beq__eq : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + Coq__Init__Specif.match____sig cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (beq x y)) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sig cupicef.set Coq__Init__Datatypes.bool + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b (beq x y))) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (beq x y)) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 (beq x y)) => + Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true (beq x y)) => + Coq__Init__Specif.left + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (beq__eq x y H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false (beq x y)) => + Coq__Init__Specif.right + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (beq__false__not__eq A beq beq__refl x y H)) + b) + (exists__beq__eq A beq x y). + +(; End of translation. ;) diff --git a/out/Coq__Bool__DecBool.dk b/out/Coq__Bool__DecBool.dk new file mode 100644 index 000000000..d6cab6272 --- /dev/null +++ b/out/Coq__Bool__DecBool.dk @@ -0,0 +1,216 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def ifdec : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C => + Coq__Init__Specif.match____sumbool (cupicef.type (cupicef.s cupicef.z)) A + B (H0 : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => C) + (__ : cupicef.Term cupicef.prop A => x) + (__ : cupicef.Term cupicef.prop B => y) H. + +thm ifdec__left : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.set -> + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + x : cupicef.Term cupicef.set C -> + y : cupicef.Term cupicef.set C -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + H x y) + x) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.set => + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + x : cupicef.Term cupicef.set C => + y : cupicef.Term cupicef.set C => + Coq__Init__Specif.match____sumbool cupicef.prop A B + (s : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + s x y) + x) + (a : cupicef.Term cupicef.prop A => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + x) + (b : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + (Coq__Init__Specif.right A B b) x y) + x) + (H0 b)) + H. + +thm ifdec__right : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.set -> + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + x : cupicef.Term cupicef.set C -> + y : cupicef.Term cupicef.set C -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + H x y) + y) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.set => + H : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + x : cupicef.Term cupicef.set C => + y : cupicef.Term cupicef.set C => + Coq__Init__Specif.match____sumbool cupicef.prop A B + (s : cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + s x y) + y) + (a : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (ifdec A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + (Coq__Init__Specif.left A B a) x y) + y) + (H0 a)) + (b : cupicef.Term cupicef.prop B => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + y) + H. + +(; End of translation. ;) diff --git a/out/Coq__Bool__IfProp.dk b/out/Coq__Bool__IfProp.dk new file mode 100644 index 000000000..6a704a9d7 --- /dev/null +++ b/out/Coq__Bool__IfProp.dk @@ -0,0 +1,1245 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def IfProp : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop. + +def Iftrue : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true). + +def Iffalse : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false). + +[ ] cupicef.code_guarded? _ (Iftrue _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (Iffalse _ _ _) --> cupicef.guarded. + +def match____IfProp : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.prop (IfProp A B __) -> + cupicef.Univ s) -> + case__Iftrue : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term s (P Coq__Init__Datatypes.true (Iftrue A B __))) -> + case__Iffalse : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term s (P Coq__Init__Datatypes.false (Iffalse A B __))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : cupicef.Term cupicef.prop (IfProp A B __) -> + cupicef.Term s (P __ x). + +[ s, A, B, P, case__Iftrue, case__Iffalse, __] + match____IfProp s A B P case__Iftrue case__Iffalse + {Coq__Init__Datatypes.true} (Iftrue A B __) + --> + case__Iftrue __. + +[ s, A, B, P, case__Iftrue, case__Iffalse, __] + match____IfProp s A B P case__Iftrue case__Iffalse + {Coq__Init__Datatypes.false} (Iffalse A B __) + --> + case__Iffalse __. + +[ s, A, B, P, s'] + match____IfProp s A B + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____IfProp s' A B (__ => x => P __ x). + +def IfProp__ind : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) -> + f : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true)) -> + f0 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false)) -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + i : cupicef.Term cupicef.prop (IfProp A B b) -> + cupicef.Term cupicef.prop (P b) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Univ cupicef.prop) => + f : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.true)) => + f0 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P Coq__Init__Datatypes.false)) => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + i : cupicef.Term cupicef.prop (IfProp A B b) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + P b0) + f f0 b i. + +thm Iftrue__inv : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (IfProp A B b) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B b) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) => + A)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H0) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => A) + (Coq__Bool__Bool.diff__true__false + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true H1))) + b H. + +thm Iffalse__inv : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (IfProp A B b) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B b) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) => + B)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => B) + (Coq__Bool__Bool.diff__true__false H1)) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + H0) + b H. + +def let__H1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +def let__H0 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + match____IfProp cupicef.prop A B + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.true) => + A)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop A => + H3) H1 H0) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H3 : cupicef.Term cupicef.prop B => A)) + (let__H1 A B H H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.true H. + +thm IfProp__true : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + let__H0 A B H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true). + +def let__H3 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +def let__H2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + match____IfProp cupicef.prop A B + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b Coq__Init__Datatypes.false) => + B)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H3 : cupicef.Term cupicef.prop A => B)) + (let__H3 A B H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + H3 : cupicef.Term cupicef.prop B => + H3) H1 H0) + Coq__Init__Datatypes.false H. + +thm IfProp__false : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + let__H2 A B H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false). + +thm IfProp__or : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (IfProp A B b) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B b) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + Coq__Init__Logic.or A B) + (H0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.or__introl A B H0) + (H0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.or__intror A B H0) + b H. + +def let__H5 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Coq__Init__Datatypes.true H2. + +def let__H4 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.true) => + A)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + H3 : cupicef.Term cupicef.prop A => + H3) H1 H0) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H3 : cupicef.Term cupicef.prop B => A)) + (let__H5 A B b H H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.true H. + +def let__H7 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Coq__Init__Datatypes.false H2. + +def let__H6 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + match____IfProp cupicef.prop A B + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + __ : cupicef.Term cupicef.prop (IfProp A B b0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 Coq__Init__Datatypes.false) => + B)) + (H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H3 : cupicef.Term cupicef.prop A => B)) + (let__H7 A B b H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + H3 : cupicef.Term cupicef.prop B => + H3) H1 H0) + Coq__Init__Datatypes.false H. + +thm IfProp__sum : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __ : cupicef.Term cupicef.prop (IfProp A B b) -> + cupicef.Term cupicef.set (Coq__Init__Specif.sumbool A B) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I (IfProp A B b0) + (__ : cupicef.Term cupicef.prop (IfProp A B b0) => + Coq__Init__Specif.sumbool A B)) + (H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.true) => + Coq__Init__Specif.left A B + (let__H4 A B b H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true))) + (H : cupicef.Term cupicef.prop (IfProp A B Coq__Init__Datatypes.false) => + Coq__Init__Specif.right A B + (let__H6 A B b H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false))) + b. + +(; End of translation. ;) diff --git a/out/Coq__Classes__CMorphisms.dk b/out/Coq__Classes__CMorphisms.dk new file mode 100644 index 000000000..e3e063e15 --- /dev/null +++ b/out/Coq__Classes__CMorphisms.dk @@ -0,0 +1,29593 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + R m m. + +#TYPE_CLASS Proper. + +def proper__prf : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + Proper0 : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R m) -> + cupicef.Term (cupicef.type s1) (R m m) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + Proper0 : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R m) => + Proper0. + +def ProperProxy : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + R m m. + +#TYPE_CLASS ProperProxy. + +def proper__proxy : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + ProperProxy0 : cupicef.Term (cupicef.type s1) (ProperProxy s0 s1 A R m) -> + cupicef.Term (cupicef.type s1) (R m m) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + ProperProxy0 : cupicef.Term (cupicef.type s1) (ProperProxy s0 s1 A R m) => + ProperProxy0. + +thm eq__proper__proxy : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) + (ProperProxy s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + x : cupicef.Term (cupicef.type s0) A => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A) + x. + +thm reflexive__proper__proxy : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.Reflexive s0 s1 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (ProperProxy s0 s1 A R x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.Reflexive s0 s1 A R) => + x : cupicef.Term (cupicef.type s0) A => + (X : cupicef.Term (cupicef.type s1) (R x x) => X) (H x). + +thm proper__proper__proxy : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + x : cupicef.Term (cupicef.type s0) A -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + H : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R x) -> + cupicef.Term (cupicef.type s1) (ProperProxy s0 s1 A R x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + x : cupicef.Term (cupicef.type s0) A => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + H : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R x) => + H. + +def respectful__hetero : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s7)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s7)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s7)) -> + A : cupicef.Univ (cupicef.type s1) -> + B : cupicef.Univ (cupicef.type s2) -> + C : + (__ : cupicef.Term (cupicef.type s1) A -> cupicef.Univ (cupicef.type s3)) -> + D : + (__ : cupicef.Term (cupicef.type s2) B -> cupicef.Univ (cupicef.type s4)) -> + R : + (__ : cupicef.Term (cupicef.type s1) A -> + __0 : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s5)) -> + R_27_ : + (x : cupicef.Term (cupicef.type s1) A -> + y : cupicef.Term (cupicef.type s2) B -> + __ : cupicef.Term (cupicef.type s3) (C x) -> + __0 : cupicef.Term (cupicef.type s4) (D y) -> + cupicef.Univ (cupicef.type s6)) -> + __ : + (x : cupicef.Term (cupicef.type s1) A -> + cupicef.Term (cupicef.type s3) (C x)) -> + __0 : + (x : cupicef.Term (cupicef.type s2) B -> + cupicef.Term (cupicef.type s4) (D x)) -> + cupicef.Univ (cupicef.type s7) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s7)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s7)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s7)) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))))))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))))))) + cupicef.I + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s2) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (C : + (__ : cupicef.Term (cupicef.type s1) A -> + cupicef.Univ (cupicef.type s3)) => + cupicef.prod + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))))) + cupicef.I + (cupicef.prod (cupicef.type s2) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s2) B => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (D : + (__ : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s4)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s2) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + (R : + (__ : cupicef.Term (cupicef.type s1) A -> + __0 : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s5)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))))) + cupicef.I B + (y : cupicef.Term (cupicef.type s2) B => + cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I (C x) + (__ : cupicef.Term (cupicef.type s3) (C x) => + cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))) + cupicef.I (D y) + (__0 : + cupicef.Term (cupicef.type s4) (D y) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I))))) + (R_27_ : + (x : cupicef.Term (cupicef.type s1) A -> + y : cupicef.Term (cupicef.type s2) B -> + __ : cupicef.Term (cupicef.type s3) (C x) -> + __0 : cupicef.Term (cupicef.type s4) (D y) -> + cupicef.Univ (cupicef.type s6)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))))) + cupicef.I + (cupicef.prod (cupicef.type s1) (cupicef.type s3) + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => C x)) + (f : + (x : cupicef.Term (cupicef.type s1) A -> + cupicef.Term (cupicef.type s3) (C x)) => + cupicef.prod + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))))) + cupicef.I + (cupicef.prod (cupicef.type s2) + (cupicef.type s4) + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + cupicef.I B + (x : cupicef.Term (cupicef.type s2) B => D x)) + (g : + (x : cupicef.Term (cupicef.type s2) B -> + cupicef.Term (cupicef.type s4) (D x)) => + cupicef.univ + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6)))) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.type s6))))) + cupicef.I))))))))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))))))) + cupicef.I + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s2) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (C : + (__ : cupicef.Term (cupicef.type s1) A -> + cupicef.Univ (cupicef.type s3)) => + cupicef.prod + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))))) + cupicef.I + (cupicef.prod (cupicef.type s2) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s4))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s2) B => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (D : + (__ : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s4)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s2) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s2) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + (R : + (__ : cupicef.Term (cupicef.type s1) A -> + __0 : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s5)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))))) + cupicef.I B + (y : cupicef.Term (cupicef.type s2) B => + cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I (C x) + (__ : cupicef.Term (cupicef.type s3) (C x) => + cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s6))) + cupicef.I (D y) + (__0 : + cupicef.Term (cupicef.type s4) (D y) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I))))) + (R_27_ : + (x : cupicef.Term (cupicef.type s1) A -> + y : cupicef.Term (cupicef.type s2) B -> + __ : cupicef.Term (cupicef.type s3) (C x) -> + __0 : cupicef.Term (cupicef.type s4) (D y) -> + cupicef.Univ (cupicef.type s6)) => + cupicef.prod + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I + (cupicef.prod (cupicef.type s1) (cupicef.type s3) + (cupicef.rule (cupicef.type s1) + (cupicef.type s3)) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => C x)) + (__ : + (x : cupicef.Term (cupicef.type s1) A -> + cupicef.Term (cupicef.type s3) (C x)) => + cupicef.prod + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + (cupicef.axiom (cupicef.type s7))) + cupicef.I + (cupicef.prod (cupicef.type s2) + (cupicef.type s4) + (cupicef.rule (cupicef.type s2) + (cupicef.type s4)) + cupicef.I B + (x : cupicef.Term (cupicef.type s2) B => D x)) + (__0 : + (x : cupicef.Term (cupicef.type s2) B -> + cupicef.Term (cupicef.type s4) (D x)) => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))))))))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s6) (cupicef.type s7))) + cstr_3 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s5) (cupicef.type s7))) + cstr_2 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s2) (cupicef.type s7))) + cstr_1 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s1) (cupicef.type s7))) + cstr_0 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s1) => + B : cupicef.Univ (cupicef.type s2) => + C : + (__ : cupicef.Term (cupicef.type s1) A -> + cupicef.Univ (cupicef.type s3)) => + D : + (__ : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s4)) => + R : + (__ : cupicef.Term (cupicef.type s1) A -> + __0 : cupicef.Term (cupicef.type s2) B -> + cupicef.Univ (cupicef.type s5)) => + R_27_ : + (x : cupicef.Term (cupicef.type s1) A -> + y : cupicef.Term (cupicef.type s2) B -> + __ : cupicef.Term (cupicef.type s3) (C x) -> + __0 : cupicef.Term (cupicef.type s4) (D y) -> + cupicef.Univ (cupicef.type s6)) => + f : + (x : cupicef.Term (cupicef.type s1) A -> + cupicef.Term (cupicef.type s3) (C x)) => + g : + (x : cupicef.Term (cupicef.type s2) B -> + cupicef.Term (cupicef.type s4) (D x)) => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s5) (cupicef.type s6))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s5) (cupicef.type s6)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s5) (cupicef.type s6)) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s5) (cupicef.type s6))) + cupicef.I B + (y : cupicef.Term (cupicef.type s2) B => + cupicef.prod (cupicef.type s5) (cupicef.type s6) + (cupicef.rule (cupicef.type s5) (cupicef.type s6)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s5) (R x y) => + R_27_ x y (f x) (g y))))). + +def respectful : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s2) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) -> + cupicef.Term + (cupicef.sup (cupicef.type s4) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s4 s5 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s4))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s5)) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3)))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3)))))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3))))))))) + cupicef.I + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s2) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3)))))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3))))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s2 s3 B) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3)))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => B)) + (f : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) B) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => B)) + (g : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) B) => + cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.type s3)))) + cupicef.I))))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5)))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))))) + (cupicef.rule (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5)))))) + cupicef.I + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s2) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s2 s3 B) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) => + Coq__Classes__CRelationClasses.crelation s4 s5 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) + (cupicef.type s4))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type s4))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)))))))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s3) (cupicef.type s5))) + cstr_4 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_2 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s0) (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s2) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) => + f : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) B) => + g : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) B) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s3))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s3) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s1) (R x y) => + R_27_ (f x) (g y))))). + +def forall__def : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + P : + (__ : cupicef.Term (cupicef.type s0) A -> cupicef.Univ (cupicef.type s1)) -> + cupicef.Univ (cupicef.type s2) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_1 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x)). + +def forall__relation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s0) -> + P : + (__ : cupicef.Term (cupicef.type s0) A -> cupicef.Univ (cupicef.type s1)) -> + sig : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) -> + cupicef.Term + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => + Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) + (sig : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A (x : cupicef.Term (cupicef.type s0) A => P x)) + (f : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x)) + (g : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => + Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) + (sig : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) => + Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x))))))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s2) (cupicef.type s4))) + cstr_3 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_1 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + P : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + sig : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 (P a))) => + f : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + g : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => sig a (f a) (g a))). + +def pointwise__relation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 B) -> + cupicef.Term + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.prod + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s1 s2 B) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 B) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A (__ : cupicef.Term (cupicef.type s0) A => B)) + (f : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (g : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.prod + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s1 s2 B) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 B) => + Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))))))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s2) (cupicef.type s4))) + cstr_3 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_1 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s1 s2 B) => + f : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + g : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => R (f a) (g a))). + +thm pointwise__pointwise : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) -> + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s6) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 B) -> + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.relation__equivalence s1 s2 s3 s4 cstr_0 + cstr_5 cstr_6 cstr_7 cstr_8 cstr_9 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s1))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s6) + (cupicef.rule (cupicef.type s0) (cupicef.type s6)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 A B + R) + (respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 cstr_12 A + B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) => + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s6) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 B) => + x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s6) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s6) B) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_8 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 + A B R x y) + (__ : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_9 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y) + (__ : + cupicef.Term (cupicef.type s4) + (respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y) => + pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 + A B R x y))) + (cupicef.cast (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 + A B R x y) + (__ : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 + A B R x y) + (__ : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y)) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))))) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))))) + cupicef.I + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) + (X : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod cupicef.prop (cupicef.type s7) + (cupicef.rule cupicef.prop (cupicef.type s7)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + x0 y0) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + x0 y0) => + R (x x0) (y y0)))))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) + (__ : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 + cstr_12 A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y)) + cupicef.I + (X : + cupicef.Term (cupicef.type s4) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 + cstr_12 A B R x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + x0 y0) => + cupicef.cast (cupicef.type s7) (cupicef.type s7) + (R (x x0) (y y0)) (R (x x0) (y y0)) cupicef.I + (cupicef.cast (cupicef.type s7) (cupicef.type s7) + ((x1 : cupicef.Term (cupicef.type s0) A => R (x x1) (y y0)) + x0) + (R (x x0) (y y0)) cupicef.I + (Coq__Init__Logic.eq__rect__r + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 A) + y0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_13 + (x1 : cupicef.Term (cupicef.type s0) A => + R (x x1) (y y0))) + (cupicef.cast (cupicef.type s7) (cupicef.type s7) + (R (x y0) (y y0)) (R (x y0) (y y0)) cupicef.I ( + X y0)) + x0 H))))) + (X : + cupicef.Term (cupicef.type s4) + (respectful s0 s5 s6 s7 s1 s4 cstr_1 cstr_2 cstr_10 cstr_11 cstr_12 + A B + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s5 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A))) + R x y) => + cupicef.cast (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s4) + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => R (x a) (y a))) + (pointwise__relation s0 s6 s7 s1 s4 cstr_1 cstr_2 cstr_11 cstr_12 A B + R x y) + cupicef.I + (a : cupicef.Term (cupicef.type s0) A => + (X0 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + a y0) -> + cupicef.Term (cupicef.type s7) (R (x a) (y y0))) => + (X1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + a a) -> + cupicef.Term (cupicef.type s7) (R (x a) (y a))) => + (X2 : cupicef.Term (cupicef.type s7) (R (x a) (y a)) => X2) + (X1 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_3 A) + a))) + (X0 a)) + (X a))). + +thm subrelation__id__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) -> + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s0 s2 s3 A RA RA_27_) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.prod (cupicef.type s0) (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => A)) + (respectful s0 s2 s0 s3 s0 s1 cupicef.I cstr_0 cstr_2 cupicef.I cstr_3 + A A RA RA_27_) + (Coq__Init__Datatypes.id + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 A))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) => + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s0 s2 s3 A RA RA_27_) => + H. + +#TYPE_CLASS_INSTANCE subrelation__id__proper. + +thm subrelation__respectful : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + subl : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s4) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s0 s6 s4 A RA_27_ RA) -> + B : cupicef.Univ (cupicef.type s7) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s5)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s5 B) -> + RB_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 B) -> + subr : + cupicef.Term + (cupicef.sup (cupicef.type s5) + (cupicef.sup (cupicef.type s7) (cupicef.type s8))) + (Coq__Classes__CRelationClasses.subrelation s7 s5 s8 B RB RB_27_) -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s1))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 cstr_4 A B + RA RB) + (respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 cstr_7 A B + RA_27_ RB_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + subl : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s4) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s0 s6 s4 A RA_27_ RA) => + B : cupicef.Univ (cupicef.type s7) => + RB : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s5)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s5 B) => + RB_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 B) => + subr : + cupicef.Term + (cupicef.sup (cupicef.type s5) + (cupicef.sup (cupicef.type s7) (cupicef.type s8))) + (Coq__Classes__CRelationClasses.subrelation s7 s5 s8 B RB RB_27_) => + cupicef.cast + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s1))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 cstr_4 A B + RA RB) + (respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 cstr_7 A B + RA_27_ RB_27_)) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s1))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 cstr_4 A B + RA RB) + (respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 cstr_7 A B + RA_27_ RB_27_)) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s7) B) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B)) + (y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s7) B) => + cupicef.prod (cupicef.type s2) (cupicef.type s3) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) cupicef.I + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 + cstr_4 A B RA RB x y) + (X : + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 + cstr_6 cstr_4 A B RA RB x y) => + respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 + cstr_7 A B RA_27_ RB_27_ x y)))) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s1))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s7) + (cupicef.rule (cupicef.type s0) (cupicef.type s7)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 cstr_4 A + B RA RB) + (respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 cstr_7 A + B RA_27_ RB_27_)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s7) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s7) B) => + X : + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s7 s5 s1 s2 cstr_0 cstr_1 cstr_3 cstr_6 cstr_4 + A B RA RB x y) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s8)))) + (cupicef.type s3) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s8))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s8)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s8)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s8))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s8) + (cupicef.rule (cupicef.type s6) (cupicef.type s8)) + cupicef.I (RA_27_ x0 y0) + (X0 : cupicef.Term (cupicef.type s6) (RA_27_ x0 y0) => + RB_27_ (x x0) (y y0))))) + (respectful s0 s6 s7 s8 s1 s3 cstr_0 cstr_2 cstr_5 cstr_6 cstr_7 A + B RA_27_ RB_27_ x y) + cupicef.I + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s6) (RA_27_ x0 y0) => + cupicef.cast (cupicef.type s8) (cupicef.type s8) + (RB_27_ (x x0) (y y0)) (RB_27_ (x x0) (y y0)) cupicef.I + (cupicef.cast (cupicef.type s8) (cupicef.type s8) + (RB_27_ (x x0) (y y0)) (RB_27_ (x x0) (y y0)) cupicef.I + (cupicef.cast (cupicef.type s8) (cupicef.type s8) + (RB_27_ (x x0) (y y0)) (RB_27_ (x x0) (y y0)) cupicef.I + (subr (x x0) (y y0) (X x0 y0 (subl x0 y0 X0)))))))). + +thm subrelation__refl : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + cupicef.cast (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R R) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R R) cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (R x y) + (X : cupicef.Term (cupicef.type s1) (R x y) => R x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R R) cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s1) (R x y) => + cupicef.cast (cupicef.type s1) (cupicef.type s1) (R x y) (R x y) + cupicef.I + (cupicef.cast (cupicef.type s1) (cupicef.type s1) (R x y) ( + R x y) cupicef.I X))). + +thm subrelation__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + mor : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R_27_ m) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + unc : + cupicef.Term cupicef.set + (Coq__Classes__Init.Unconvertible + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s1 A)) + R R_27_) -> + sub : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R_27_ R) -> + cupicef.Term (cupicef.type s1) (Proper s0 s1 A R m) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + mor : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R_27_ m) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + unc : + cupicef.Term cupicef.set + (Coq__Classes__Init.Unconvertible + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s1 A)) + R R_27_) => + sub : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 A R_27_ R) => + sub m m mor. + +thm proper__subrelation__proper__arrow : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s3)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s9)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s5)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s6)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) -> + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s6)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s3)) cstr_2 + (cupicef.SortSome (cupicef.type s1)) cstr_8 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_8 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)))) + (respectful s3 s4 s5 s6 s1 s2 cstr_8 cstr_9 cstr_10 cstr_11 cstr_12 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s5))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s5))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s5)) cstr_17 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A)) + (respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 cstr_14 + A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7))) + (Proper s0 s7 A)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s3)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s9)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s5)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s6)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) => + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s6)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s5)) => + A : cupicef.Univ (cupicef.type s0) => + cupicef.cast (cupicef.type s2) (cupicef.type s2) + (respectful s3 s4 s5 s6 s1 s2 cstr_8 cstr_9 cstr_10 cstr_11 cstr_12 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s5))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s5))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s5)) cstr_17 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A)) + (respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 cstr_14 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7)) + (Proper s0 s7 A) (Proper s0 s7 A)) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s3)) cstr_2 + (cupicef.SortSome (cupicef.type s1)) cstr_8 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_8 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)))) + (respectful s3 s4 s5 s6 s1 s2 cstr_8 cstr_9 cstr_10 cstr_11 cstr_12 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s5))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s5))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s5)) cstr_17 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A)) + (respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 + cstr_14 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7))) + (Proper s0 s7 A)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6)))) + (cupicef.type s2) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.type s6)) + cupicef.I + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A x y) + (X : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A + x y) => + respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 + cstr_14 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7) + (Proper s0 s7 A x) (Proper s0 s7 A y))))) + (respectful s3 s4 s5 s6 s1 s2 cstr_8 cstr_9 cstr_10 cstr_11 cstr_12 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s5))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s5))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s5)) cstr_17 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s0 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s7))) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s0 s7 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s4))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A)) + (respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 + cstr_14 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7)) + (Proper s0 s7 A) (Proper s0 s7 A)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + X : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.subrelation s0 s7 s7 A x y) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + (cupicef.type s6) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod cupicef.prop (cupicef.type s7) + (cupicef.rule cupicef.prop (cupicef.type s7)) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y0) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y0) => + Coq__Classes__CRelationClasses.arrow s7 s7 + (Proper s0 s7 A x x0) (Proper s0 s7 A y y0))))) + (respectful s0 s8 s9 s7 s5 s6 cstr_4 cstr_5 cstr_16 cstr_17 + cstr_14 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + (Coq__Classes__CRelationClasses.arrow s7 s7) (Proper s0 s7 A x) + (Proper s0 s7 A y)) + cupicef.I + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y0) => + cupicef.cast (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.type s7) + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) cupicef.I + (Proper s0 s7 A x x0) + (X0 : cupicef.Term (cupicef.type s7) (Proper s0 s7 A x x0) => + Proper s0 s7 A y y0)) + (Coq__Classes__CRelationClasses.arrow s7 s7 + (Proper s0 s7 A x x0) (Proper s0 s7 A y y0)) + cupicef.I + (X0 : cupicef.Term (cupicef.type s7) (Proper s0 s7 A x x0) => + cupicef.cast (cupicef.type s7) (cupicef.type s7) (y y0 y0) + (Proper s0 s7 A y y0) cupicef.I + (Coq__Init__Logic.eq__rect__r + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 A) + y0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_15 + (x1 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s0 s7 A x x1) + (X1 : + cupicef.Term (cupicef.type s7) + (Proper s0 s7 A x x1) => + y y0 y0))) + (X1 : + cupicef.Term (cupicef.type s7) (Proper s0 s7 A x y0) => + (X2 : + (y1 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s7) (x y0 y1) -> + cupicef.Term (cupicef.type s7) (y y0 y1)) => + (X3 : + (__ : cupicef.Term (cupicef.type s7) (x y0 y0) -> + cupicef.Term (cupicef.type s7) (y y0 y0)) => + (X4 : cupicef.Term (cupicef.type s7) (y y0 y0) => X4) + (X3 X1)) + (X2 y0)) + (X y0)) + x0 H X0))))). + +#TYPE_CLASS_INSTANCE proper__subrelation__proper__arrow. + +thm pointwise__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s5) -> + R : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.crelation s5 s4 B) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 B) -> + sub : + cupicef.Term + (cupicef.sup (cupicef.type s4) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s5 s4 s6 B R R_27_) -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s5) + (cupicef.rule (cupicef.type s0) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (pointwise__relation s0 s5 s4 s1 s2 cstr_0 cstr_1 cstr_4 cstr_3 A B R) + (pointwise__relation s0 s5 s6 s1 s3 cstr_0 cstr_2 cstr_4 cstr_5 A B + R_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s5) => + R : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.crelation s5 s4 B) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 B) => + sub : + cupicef.Term + (cupicef.sup (cupicef.type s4) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s5 s4 s6 B R R_27_) => + cupicef.cast + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s5) + (cupicef.rule (cupicef.type s0) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s5) B) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s5)) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s5) + (cupicef.rule (cupicef.type s0) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s5) B) => + cupicef.prod (cupicef.type s2) (cupicef.type s3) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) cupicef.I + (pointwise__relation s0 s5 s4 s1 s2 cstr_0 cstr_1 cstr_4 cstr_3 + A B R x y) + (X : + cupicef.Term (cupicef.type s2) + (pointwise__relation s0 s5 s4 s1 s2 cstr_0 cstr_1 cstr_4 + cstr_3 A B R x y) => + pointwise__relation s0 s5 s6 s1 s3 cstr_0 cstr_2 cstr_4 cstr_5 + A B R_27_ x y)))) + (Coq__Classes__CRelationClasses.subrelation s1 s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s5) + (cupicef.rule (cupicef.type s0) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (pointwise__relation s0 s5 s4 s1 s2 cstr_0 cstr_1 cstr_4 cstr_3 A B R) + (pointwise__relation s0 s5 s6 s1 s3 cstr_0 cstr_2 cstr_4 cstr_5 A B + R_27_)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s5) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s5) B) => + X : + cupicef.Term (cupicef.type s2) + (pointwise__relation s0 s5 s4 s1 s2 cstr_0 cstr_1 cstr_4 cstr_3 A B + R x y) => + cupicef.cast (cupicef.rule (cupicef.type s0) (cupicef.type s6)) + (cupicef.type s3) + (cupicef.prod (cupicef.type s0) (cupicef.type s6) + (cupicef.rule (cupicef.type s0) (cupicef.type s6)) cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => R_27_ (x a) (y a))) + (pointwise__relation s0 s5 s6 s1 s3 cstr_0 cstr_2 cstr_4 cstr_5 A B + R_27_ x y) + cupicef.I + (a : cupicef.Term (cupicef.type s0) A => + cupicef.cast (cupicef.type s6) (cupicef.type s6) (R_27_ (x a) (y a)) + (R_27_ (x a) (y a)) cupicef.I (sub (x a) (y a) (X a)))). + +#TYPE_CLASS_INSTANCE pointwise__subrelation. + +thm forall__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s0) -> + P : + (__ : cupicef.Term (cupicef.type s0) A -> cupicef.Univ (cupicef.type s1)) -> + R : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 (P x))) -> + S : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s1 s6 (P x))) -> + __ : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) (R a) (S a))) -> + cupicef.Term + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s3) (cupicef.type s4))) + (Coq__Classes__CRelationClasses.subrelation s2 s3 s4 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x))) + (forall__relation s0 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_4 A P R) + (forall__relation s0 s1 s6 s2 s4 cstr_0 cstr_2 cstr_3 cstr_5 A P S)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + A : cupicef.Univ (cupicef.type s0) => + P : + (__ : cupicef.Term (cupicef.type s0) A -> cupicef.Univ (cupicef.type s1)) => + R : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 (P x))) => + S : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s1 s6 (P x))) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4))))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s3) (cupicef.type s4)))) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => + Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) ( + R a) (S a))) + (X : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) + (R a) (S a))) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => P x)) + (x : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s3) (cupicef.type s4))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (x0 : cupicef.Term (cupicef.type s0) A => P x0)) + (y : + (x0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x0)) => + cupicef.prod (cupicef.type s3) (cupicef.type s4) + (cupicef.rule (cupicef.type s3) (cupicef.type s4)) cupicef.I + (forall__relation s0 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_4 + A P R x y) + (X0 : + cupicef.Term (cupicef.type s3) + (forall__relation s0 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 + cstr_4 A P R x y) => + forall__relation s0 s1 s6 s2 s4 cstr_0 cstr_2 cstr_3 cstr_5 + A P S x y))))) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s3) (cupicef.type s4))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s3) (cupicef.type s4)))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (cupicef.rule (cupicef.type s0) + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6)))) + cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => + Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) ( + R a) (S a))) + (__ : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) + (R a) (S a))) => + Coq__Classes__CRelationClasses.subrelation s2 s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (x : cupicef.Term (cupicef.type s0) A => P x))) + (forall__relation s0 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_4 A P R) + (forall__relation s0 s1 s6 s2 s4 cstr_0 cstr_2 cstr_3 cstr_5 A P S))) + cupicef.I + (X : + (a : cupicef.Term (cupicef.type s0) A -> + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) ( + R a) (S a))) => + x : + (x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x)) => + y : + (x0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (P x0)) => + X0 : + cupicef.Term (cupicef.type s3) + (forall__relation s0 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_4 A P R + x y) => + cupicef.cast (cupicef.rule (cupicef.type s0) (cupicef.type s6)) + (cupicef.type s4) + (cupicef.prod (cupicef.type s0) (cupicef.type s6) + (cupicef.rule (cupicef.type s0) (cupicef.type s6)) cupicef.I A + (a : cupicef.Term (cupicef.type s0) A => S a (x a) (y a))) + (forall__relation s0 s1 s6 s2 s4 cstr_0 cstr_2 cstr_3 cstr_5 A P S x + y) + cupicef.I + (a : cupicef.Term (cupicef.type s0) A => + (X1 : + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s5) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.subrelation s1 s5 s6 (P a) + (R a) (S a)) => + (X2 : cupicef.Term (cupicef.type s5) (R a (x a) (y a)) => + (X3 : + (y0 : cupicef.Term (cupicef.type s1) (P a) -> + __ : cupicef.Term (cupicef.type s5) (R a (x a) y0) -> + cupicef.Term (cupicef.type s6) (S a (x a) y0)) => + X1 (x a) (y a) X2) (X1 (x a))) (X0 a)) + (X a))). + +def apply__subrelation : + cupicef.Univ cupicef.prop. + +def do__subrelation : + cupicef.Term cupicef.prop apply__subrelation. + +thm iff__impl__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff x y) + (H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + Coq__Program__Basics.impl x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + cupicef.I + (x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (H0 : cupicef.Term cupicef.prop x => y)) + (Coq__Program__Basics.impl x y) cupicef.I + (H0 : cupicef.Term cupicef.prop x => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + y + (H1 : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y) => + H2 : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x) => + (H3 : cupicef.Term cupicef.prop y => H3) (H1 H0)) + H)). + +#TYPE_CLASS_INSTANCE iff__impl__subrelation. + +thm iff__flip__impl__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff x y) + (H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s2 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl))) + cupicef.I + (x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (H0 : cupicef.Term cupicef.prop y => x)) + (Coq__Classes__CRelationClasses.flip s0 s0 s0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl x y) + cupicef.I + (H0 : cupicef.Term cupicef.prop y => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + x + (H1 : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y) => + H2 : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x) => + (H3 : cupicef.Term cupicef.prop x => H3) (H2 H0)) + H)). + +#TYPE_CLASS_INSTANCE iff__flip__impl__subrelation. + +thm iffT__arrow__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2) + (Coq__Classes__CRelationClasses.arrow s1 s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (x : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (y : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_1 cstr_2 cstr_1 + cstr_2 x y) + (X : + cupicef.Term (cupicef.type s1) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_1 cstr_2 + cstr_1 cstr_2 x y) => + Coq__Classes__CRelationClasses.arrow s1 s1 x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_1 cstr_2 cstr_1 + cstr_2) + (Coq__Classes__CRelationClasses.arrow s1 s1)) + cupicef.I + (x : cupicef.Univ (cupicef.type s1) => + y : cupicef.Univ (cupicef.type s1) => + X : + cupicef.Term (cupicef.type s1) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_1 cstr_2 cstr_1 + cstr_2 x y) => + cupicef.cast (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (X0 : cupicef.Term (cupicef.type s1) x => + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + y) X)) + (Coq__Classes__CRelationClasses.arrow s1 s1 x y) cupicef.I + (X0 : cupicef.Term (cupicef.type s1) x => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + x (__ : cupicef.Term (cupicef.type s1) x => y))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + y (__ : cupicef.Term (cupicef.type s1) y => x))) + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (p : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_3 + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + y)) + (a : + (__ : cupicef.Term (cupicef.type s1) x -> + cupicef.Term (cupicef.type s1) y) => + b : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) x) => + (X1 : cupicef.Term (cupicef.type s1) y => X1) (a X0)) + X)). + +#TYPE_CLASS_INSTANCE iffT__arrow__subrelation. + +thm iffT__flip__arrow__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s3 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_3 cstr_4 cstr_3 cstr_4) + (Coq__Classes__CRelationClasses.flip s0 s0 s2 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + cstr_2 (Coq__Classes__CRelationClasses.arrow s1 s1)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s3))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (x : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s3))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (y : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.type s1) (cupicef.type s3) + (cupicef.rule (cupicef.type s1) (cupicef.type s3)) cupicef.I + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_3 cstr_4 cstr_3 + cstr_4 x y) + (X : + cupicef.Term (cupicef.type s1) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_3 cstr_4 + cstr_3 cstr_4 x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s2 + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + cstr_2 (Coq__Classes__CRelationClasses.arrow s1 s1)) + x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s3 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_3 cstr_4 cstr_3 + cstr_4) + (Coq__Classes__CRelationClasses.flip s0 s0 s2 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + cstr_2 (Coq__Classes__CRelationClasses.arrow s1 s1)))) + cupicef.I + (x : cupicef.Univ (cupicef.type s1) => + y : cupicef.Univ (cupicef.type s1) => + X : + cupicef.Term (cupicef.type s1) + (Coq__Classes__CRelationClasses.iffT s1 s1 cstr_3 cstr_4 cstr_3 + cstr_4 x y) => + cupicef.cast (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.type s3) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I y + (X0 : cupicef.Term (cupicef.type s1) y => + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + x) X)) + (Coq__Classes__CRelationClasses.flip s0 s0 s2 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (A : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (B : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s1) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + cstr_2 (Coq__Classes__CRelationClasses.arrow s1 s1)) + x y) + cupicef.I + (X0 : cupicef.Term (cupicef.type s1) y => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_3 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + x (__ : cupicef.Term (cupicef.type s1) x => y))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + y (__ : cupicef.Term (cupicef.type s1) y => x))) + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (p : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_5 + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + x)) + (a : + (__ : cupicef.Term (cupicef.type s1) x -> + cupicef.Term (cupicef.type s1) y) => + b : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) x) => + (X1 : cupicef.Term (cupicef.type s1) x => X1) (b X0)) + X)). + +#TYPE_CLASS_INSTANCE iffT__flip__arrow__subrelation. + +def respectful__per__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + B : cupicef.Univ (cupicef.type s1) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) -> + cupicef.Term (cupicef.sup (cupicef.type s2) (cupicef.type s3)) + (Coq__Classes__CRelationClasses.Symmetric s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + B : cupicef.Univ (cupicef.type s1) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) => + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) => + x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + X : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s4) (R x0 y0) => + Coq__Classes__CRelationClasses.match____PER s0 s4 (cupicef.type s5) A R + (p : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + R_27_ (y x0) (x y0)) + (PER__Symmetric : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Symmetric s0 s4 A R) => + PER__Transitive : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) => + Coq__Classes__CRelationClasses.match____PER s1 s5 (cupicef.type s5) B + R_27_ + (p : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) => + R_27_ (y x0) (x y0)) + (PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Symmetric s1 s5 B R_27_) => + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Transitive s1 s5 B R_27_) => + PER__Symmetric0 (x y0) (y x0) (X y0 x0 (PER__Symmetric x0 y0 X0))) + H0) + H. + +def let__X2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + B : cupicef.Univ (cupicef.type s1) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) -> + x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) -> + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) -> + z : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) -> + X : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ x y) -> + X0 : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ y z) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + X1 : cupicef.Term (cupicef.type s4) (R x0 y0) -> + cupicef.Term (cupicef.type s4) (R x0 x0) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + B : cupicef.Univ (cupicef.type s1) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) => + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) => + x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + z : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + X : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ x y) => + X0 : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ y z) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X1 : cupicef.Term (cupicef.type s4) (R x0 y0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) x0 y0 x0 X1 + (Coq__Classes__CRelationClasses.symmetry s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s4 A R H) x0 y0 X1). + +thm respectful__per__obligation__2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + B : cupicef.Univ (cupicef.type s1) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) -> + cupicef.Term (cupicef.sup (cupicef.type s2) (cupicef.type s3)) + (Coq__Classes__CRelationClasses.Transitive s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + B : cupicef.Univ (cupicef.type s1) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) => + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) => + x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + z : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + X : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ x y) => + X0 : + cupicef.Term (cupicef.type s3) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_ y z) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X1 : cupicef.Term (cupicef.type s4) (R x0 y0) => + Coq__Classes__CRelationClasses.transitivity s1 s5 B R_27_ + (Coq__Classes__CRelationClasses.PER__Transitive s1 s5 B R_27_ H0) ( + x x0) (y x0) (z y0) + (X x0 x0 + (let__X2 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 A R H B + R_27_ H0 x y z X X0 x0 y0 X1)) + (X0 x0 y0 X1). + +def respectful__per : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + B : cupicef.Univ (cupicef.type s1) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) -> + cupicef.Term (cupicef.sup (cupicef.type s2) (cupicef.type s3)) + (Coq__Classes__CRelationClasses.PER s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + B : cupicef.Univ (cupicef.type s1) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) => + H0 : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.PER s1 s5 B R_27_) => + Coq__Classes__CRelationClasses.Build__PER s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B R + R_27_) + (respectful__per__obligation__1 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 A R H B R_27_ H0) + (respectful__per__obligation__2 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 A R H B R_27_ H0). + +thm flip__proper__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s8)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s10)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s7)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s8)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s4)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s11)) -> + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s11)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + C : cupicef.Univ (cupicef.type s2) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s12))) + (Coq__Classes__CRelationClasses.crelation s0 s12 A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s1 s9 B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s2 s13 C) -> + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) -> + mor : + cupicef.Term (cupicef.type s4) + (Proper s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s5)) cstr_8 + (cupicef.SortSome (cupicef.type s3)) cstr_10 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + (cupicef.trans (cupicef.type s1) + (cupicef.SortSome (cupicef.type s5)) cstr_4 + (cupicef.SortSome (cupicef.type s3)) cstr_10 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s1) B => C)))) + (respectful s0 s12 s5 s6 s3 s4 cstr_0 cstr_1 cstr_16 cstr_10 cstr_11 + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s1) B => C))) + RA + (respectful s1 s9 s2 s13 s5 s6 cstr_4 cstr_5 cstr_12 cstr_8 + cstr_18 B C RB RC)) + f) -> + cupicef.Term (cupicef.type s8) + (Proper s7 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s7) (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s7))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s10)) cstr_9 + (cupicef.SortSome (cupicef.type s7)) cstr_14 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s7))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s7))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s7)) cstr_14 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s1) B => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__0 : cupicef.Term (cupicef.type s0) A => C)))) + (respectful s1 s9 s10 s11 s7 s8 cstr_6 cstr_7 cstr_13 cstr_14 cstr_15 + B + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s10))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => C))) + RB + (respectful s0 s12 s2 s13 s10 s11 cstr_2 cstr_3 cstr_17 cstr_9 + cstr_19 A C RA RC)) + (Coq__Classes__CRelationClasses.flip s0 s1 s2 A B C f)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s8)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s10)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s7)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s8)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s4)) => + cstr_17 : + cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s11)) => + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) => + cstr_19 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s11)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + C : cupicef.Univ (cupicef.type s2) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s12))) + (Coq__Classes__CRelationClasses.crelation s0 s12 A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s1 s9 B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s2 s13 C) => + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + mor : + cupicef.Term (cupicef.type s4) + (Proper s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s5)) cstr_8 + (cupicef.SortSome (cupicef.type s3)) cstr_10 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + (cupicef.trans (cupicef.type s1) + (cupicef.SortSome (cupicef.type s5)) cstr_4 + (cupicef.SortSome (cupicef.type s3)) cstr_10 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s1) B => C)))) + (respectful s0 s12 s5 s6 s3 s4 cstr_0 cstr_1 cstr_16 cstr_10 + cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s1) B => C))) + RA + (respectful s1 s9 s2 s13 s5 s6 cstr_4 cstr_5 cstr_12 cstr_8 + cstr_18 B C RB RC)) + f) => + x : cupicef.Term (cupicef.type s1) B => + y : cupicef.Term (cupicef.type s1) B => + X : cupicef.Term (cupicef.type s9) (RB x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s12) (RA x0 y0) => + mor x0 y0 X0 x y X. + +def flip__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s8)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s10)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s7)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s8)) -> + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s4)) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s11)) -> + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) -> + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s11)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + C : cupicef.Univ (cupicef.type s2) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s12))) + (Coq__Classes__CRelationClasses.crelation s0 s12 A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s1 s9 B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s2 s13 C) -> + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) -> + mor : + cupicef.Term (cupicef.type s4) + (Proper s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s1) B => C)))) + (respectful s0 s12 s5 s6 s3 s4 cstr_0 cstr_1 cstr_18 cstr_12 cstr_13 + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_5 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s1) B => C))) + RA + (respectful s1 s9 s2 s13 s5 s6 cstr_5 cstr_6 cstr_14 cstr_10 + cstr_20 B C RB RC)) + f) -> + cupicef.Term (cupicef.type s8) + (Proper s7 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s7) (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s7))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s10)) cstr_11 + (cupicef.SortSome (cupicef.type s7)) cstr_16 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s7))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s7))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s7)) cstr_16 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s1) B => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__0 : cupicef.Term (cupicef.type s0) A => C)))) + (respectful s1 s9 s10 s11 s7 s8 cstr_7 cstr_8 cstr_15 cstr_16 cstr_17 + B + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s10))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => C))) + RB + (respectful s0 s12 s2 s13 s10 s11 cstr_2 cstr_3 cstr_19 cstr_11 + cstr_21 A C RA RC)) + (Coq__Classes__CRelationClasses.flip s0 s1 s2 A B C f)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s7)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s8)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s10)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s7)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s8)) => + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s4)) => + cstr_19 : + cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s11)) => + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) => + cstr_21 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s11)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + C : cupicef.Univ (cupicef.type s2) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s12))) + (Coq__Classes__CRelationClasses.crelation s0 s12 A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s1 s9 B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s2 s13 C) => + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + mor : + cupicef.Term (cupicef.type s4) + (Proper s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s1) B => C)))) + (respectful s0 s12 s5 s6 s3 s4 cstr_0 cstr_1 cstr_18 cstr_12 + cstr_13 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_5 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s1) B => C))) + RA + (respectful s1 s9 s2 s13 s5 s6 cstr_5 cstr_6 cstr_14 cstr_10 + cstr_20 B C RB RC)) + f) => + flip__proper__obligation__1 s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 + cstr_0 cstr_1 cstr_2 cstr_3 cstr_5 cstr_6 cstr_7 cstr_8 cstr_10 cstr_11 + cstr_12 cstr_13 cstr_14 cstr_15 cstr_16 cstr_17 cstr_18 cstr_19 cstr_20 + cstr_21 A B C RA RB RC f mor. + +thm trans__contra__co__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) -> + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s1 s2 s1 s2 cstr_1 cstr_2 cstr_4 cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s4 s4)) + R R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R y x) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s4) (R x0 y0) => + X1 : cupicef.Term (cupicef.type s4) (R x x0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R H y x y0 X + (Coq__Classes__CRelationClasses.transitivity s0 s4 A R H x x0 y0 X1 X0). + +def trans__contra__co__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)))) + (respectful s0 s4 s1 s2 s1 s2 cstr_1 cstr_2 cstr_4 cupicef.I cupicef.I + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s4 s4))) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) => + trans__contra__co__type__morphism__obligation__1 s0 s1 s2 s3 s4 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 A R H. + +#TYPE_CLASS_INSTANCE trans__contra__co__type__morphism. + +thm trans__contra__inv__impl__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Transitive s0 s6 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (respectful s0 s6 s3 s5 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s6) (cupicef.SortSome (cupicef.type s5)) + cstr_6 (cupicef.SortSome (cupicef.type s2)) cstr_5 cupicef.SortNone) + cstr_4 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.flip s3 s3 s4 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (B : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + cstr_6 (Coq__Classes__CRelationClasses.arrow s6 s6))) + (R x) (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Transitive s0 s6 A R) => + x : cupicef.Term (cupicef.type s0) A => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s6) (R y x0) => + X0 : cupicef.Term (cupicef.type s6) (R x y) => + Coq__Classes__CRelationClasses.transitivity s0 s6 A R H x y x0 X0 X. + +def trans__contra__inv__impl__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Transitive s0 s6 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s6)) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s1)) cstr_4 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s6))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (respectful s0 s6 s3 s5 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s5)) cstr_6 + (cupicef.SortSome (cupicef.type s2)) cstr_5 cupicef.SortNone) + cstr_4 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.flip s3 s3 s4 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (B : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + cstr_6 (Coq__Classes__CRelationClasses.arrow s6 s6)))) + (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Transitive s0 s6 A R) => + x : cupicef.Term (cupicef.type s0) A => + trans__contra__inv__impl__type__morphism__obligation__1 s0 s1 s2 s3 s4 s5 + s6 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R H x. + +#TYPE_CLASS_INSTANCE trans__contra__inv__impl__type__morphism. + +thm trans__co__impl__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s4 s4) (R x) (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R x0 y) => + X0 : cupicef.Term (cupicef.type s4) (R x x0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R H x x0 y X0 X. + +def trans__co__impl__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s4 s4)) + (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Transitive s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + trans__co__impl__type__morphism__obligation__1 s0 s1 s2 s3 s4 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 A R H x. + +#TYPE_CLASS_INSTANCE trans__co__impl__type__morphism. + +thm trans__sym__co__inv__impl__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.PER s0 s6 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (respectful s0 s6 s3 s5 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s6) (cupicef.SortSome (cupicef.type s5)) + cstr_6 (cupicef.SortSome (cupicef.type s2)) cstr_5 cupicef.SortNone) + cstr_4 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R + (Coq__Classes__CRelationClasses.flip s3 s3 s4 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (B : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + cstr_6 (Coq__Classes__CRelationClasses.arrow s6 s6))) + (R x) (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.PER s0 s6 A R) => + x : cupicef.Term (cupicef.type s0) A => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s6) (R x0 y) => + X0 : cupicef.Term (cupicef.type s6) (R x y) => + Coq__Classes__CRelationClasses.transitivity s0 s6 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s6 A R H) x y x0 X0 + (Coq__Classes__CRelationClasses.symmetry s0 s6 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s6 A R H) x0 y X). + +def trans__sym__co__inv__impl__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.PER s0 s6 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s6)) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s1)) cstr_4 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s6))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (respectful s0 s6 s3 s5 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s5)) cstr_6 + (cupicef.SortSome (cupicef.type s2)) cstr_5 cupicef.SortNone) + cstr_4 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.flip s3 s3 s4 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (B : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s6) => + cupicef.prod (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s6) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + cstr_6 (Coq__Classes__CRelationClasses.arrow s6 s6)))) + (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.PER s0 s6 A R) => + x : cupicef.Term (cupicef.type s0) A => + trans__sym__co__inv__impl__type__morphism__obligation__1 s0 s1 s2 s3 s4 s5 + s6 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R H x. + +#TYPE_CLASS_INSTANCE trans__sym__co__inv__impl__type__morphism. + +thm trans__sym__contra__arrow__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.arrow s4 s4) (R x) (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R y x0) => + X0 : cupicef.Term (cupicef.type s4) (R x x0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) x x0 y X0 + (Coq__Classes__CRelationClasses.symmetry s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s4 A R H) y x0 X). + +def trans__sym__contra__arrow__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.arrow s4 s4)) + (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + trans__sym__contra__arrow__morphism__obligation__1 s0 s1 s2 s3 s4 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 A R H x. + +#TYPE_CLASS_INSTANCE trans__sym__contra__arrow__morphism. + +thm per__partial__app__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_5 cstr_6 cstr_5 cstr_6) + (R x) (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R x0 y) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R x x0) (__ : cupicef.Term (cupicef.type s4) (R x x0) => R x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R x y) (__ : cupicef.Term (cupicef.type s4) (R x y) => R x x0))) + (X0 : cupicef.Term (cupicef.type s4) (R x x0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) x x0 y + X0 X) + (X0 : cupicef.Term (cupicef.type s4) (R x y) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) x y x0 + X0 + (Coq__Classes__CRelationClasses.symmetry s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s4 A R H) x0 y X)). + +def per__partial__app__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_5 cstr_6 cstr_5 + cstr_6)) + (R x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + per__partial__app__type__morphism__obligation__1 s0 s1 s2 s3 s4 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R H x. + +#TYPE_CLASS_INSTANCE per__partial__app__type__morphism. + +thm trans__co__eq__inv__arrow__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s5)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) -> + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Transitive s0 s7 A R) -> + cupicef.Term (cupicef.type s2) + (respectful s0 s7 s1 s2 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s7) (cupicef.SortSome (cupicef.type s6)) + cstr_9 (cupicef.SortSome (cupicef.type s2)) cstr_8 cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s4)) cstr_1 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + R + (respectful s0 s3 s4 s6 s1 s2 cstr_2 cstr_3 cstr_6 cstr_7 cstr_8 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_4 A))) + (Coq__Classes__CRelationClasses.flip s4 s4 s5 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s7) => + cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (B : cupicef.Univ (cupicef.type s7) => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s7) => + cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s7) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + cstr_9 (Coq__Classes__CRelationClasses.arrow s7 s7)))) + R R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s5)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) => + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Transitive s0 s7 A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s7) (R x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_4 A) + x0 y0) => + X0 : cupicef.Term (cupicef.type s7) (R y y0) => + Coq__Init__Logic.eq__rect__r + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 A) + y0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cstr_10 (x1 : cupicef.Term (cupicef.type s0) A => R x x1)) + (Coq__Classes__CRelationClasses.transitivity s0 s7 A R H x y y0 X X0) x0 + H0. + +def trans__co__eq__inv__arrow__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s5)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) -> + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Transitive s0 s7 A R) -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s4)) cstr_1 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)))) + (respectful s0 s7 s1 s2 s1 s2 cstr_2 cstr_3 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s6)) cstr_9 + (cupicef.SortSome (cupicef.type s2)) cstr_8 cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s4)) cstr_1 + (cupicef.SortSome (cupicef.type s1)) cstr_7 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + R + (respectful s0 s3 s4 s6 s1 s2 cstr_2 cstr_3 cstr_6 cstr_7 cstr_8 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_4 A))) + (Coq__Classes__CRelationClasses.flip s4 s4 s5 + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (A0 : cupicef.Univ (cupicef.type s7) => + cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s7))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (B : cupicef.Univ (cupicef.type s7) => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6))) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (__ : cupicef.Univ (cupicef.type s7) => + cupicef.prod (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6)) + (cupicef.rule (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type s6))) + cupicef.I + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (__0 : cupicef.Univ (cupicef.type s7) => + cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I))) + cstr_9 (Coq__Classes__CRelationClasses.arrow s7 s7))))) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s5)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) => + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s0 s7 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Transitive s0 s7 A R) => + trans__co__eq__inv__arrow__morphism__obligation__1 s0 s1 s2 s3 s4 s5 s6 s7 + cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 cstr_8 cstr_9 + cstr_10 A R H. + +#TYPE_CLASS_INSTANCE trans__co__eq__inv__arrow__morphism. + +thm PER__type__morphism__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + cupicef.Term (cupicef.type s2) + (respectful s0 s4 s1 s2 s1 s2 cstr_1 cstr_2 cstr_4 cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + R + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_5 cstr_6 cstr_5 + cstr_6)) + R R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s4) (R x0 y0) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R x x0) (__ : cupicef.Term (cupicef.type s4) (R x x0) => R y y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R y y0) (__ : cupicef.Term (cupicef.type s4) (R y y0) => R x x0))) + (X1 : cupicef.Term (cupicef.type s4) (R x x0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) y x0 y0 + (Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) y x + x0 + (Coq__Classes__CRelationClasses.symmetry s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s4 A R H) x y + X) + X1) + X0) + (X1 : cupicef.Term (cupicef.type s4) (R y y0) => + Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) x y x0 X + (Coq__Classes__CRelationClasses.transitivity s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Transitive s0 s4 A R H) y y0 + x0 X1 + (Coq__Classes__CRelationClasses.symmetry s0 s4 A R + (Coq__Classes__CRelationClasses.PER__Symmetric s0 s4 A R H) x0 + y0 X0))). + +def PER__type__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) -> + cupicef.Term (cupicef.type s2) + (Proper s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)))) + (respectful s0 s4 s1 s2 s1 s2 cstr_1 cstr_2 cstr_4 cupicef.I cupicef.I + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s1))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s3)) cstr_0 + (cupicef.SortSome (cupicef.type s1)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + R + (respectful s0 s4 s3 s4 s1 s2 cstr_1 cstr_2 cstr_4 cstr_3 cstr_4 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_5 cstr_6 cstr_5 + cstr_6))) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PER s0 s4 A R) => + PER__type__morphism__obligation__1 s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 cstr_6 A R H. + +#TYPE_CLASS_INSTANCE PER__type__morphism. + +thm symmetric__equiv__flip : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Coq__Classes__CRelationClasses.Symmetric s0 s3 A R) -> + cupicef.Term (cupicef.type s2) + (Coq__Classes__CRelationClasses.relation__equivalence s0 s1 s2 s3 cstr_0 + cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Coq__Classes__CRelationClasses.Symmetric s0 s3 A R) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.type s2) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s3) (R x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) + (__ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) => + R x y))))) + (Coq__Classes__CRelationClasses.relation__equivalence s0 s1 s2 s3 cstr_0 + cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s3) (R x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) + (__ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) => + R x y))) + (X : cupicef.Term (cupicef.type s3) (R x y) => + (X0 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s3) (R x y0) -> + cupicef.Term (cupicef.type s3) (R y0 x)) => + (X1 : + (__ : cupicef.Term (cupicef.type s3) (R x y) -> + cupicef.Term (cupicef.type s3) (R y x)) => + (X2 : cupicef.Term (cupicef.type s3) (R y x) => X2) (X1 X)) ( + X0 y)) + (H x)) + (X : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) => + (X0 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s3) (R y y0) -> + cupicef.Term (cupicef.type s3) (R y0 y)) => + (X1 : + (__ : cupicef.Term (cupicef.type s3) (R y y) -> + cupicef.Term (cupicef.type s3) (R y y)) => + (X2 : + (__ : cupicef.Term (cupicef.type s3) (R y x) -> + cupicef.Term (cupicef.type s3) (R x y)) => + (X3 : cupicef.Term (cupicef.type s3) (R x y) => X3) (X2 X)) + (X0 x)) + (X0 y)) + (H y))). + +thm compose__proper__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + s14 : cupicef.Nat -> + s15 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s9)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s12)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s9)) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s11)) -> + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s7)) -> + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s8)) -> + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s7)) -> + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) -> + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) -> + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s10)) -> + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) -> + cstr_25 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s12)) -> + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s6)) -> + cstr_27 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s12)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + C : cupicef.Univ (cupicef.type s2) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s14))) + (Coq__Classes__CRelationClasses.crelation s0 s14 A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s1 s13 B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s15))) + (Coq__Classes__CRelationClasses.crelation s2 s15 C) -> + cupicef.Term (cupicef.type s4) + (respectful s5 s6 s7 s8 s3 s4 cstr_12 cstr_13 cstr_14 cstr_15 cstr_16 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_5 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) cupicef.I B + (__ : cupicef.Term (cupicef.type s1) B => C))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s7) (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s7))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s11)) cstr_10 + (cupicef.SortSome (cupicef.type s7)) cstr_20 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s7))) + (cupicef.trans (cupicef.type s1) + (cupicef.SortSome (cupicef.type s9)) cstr_7 + (cupicef.SortSome (cupicef.type s7)) cstr_17 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s7))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s9)) cstr_0 + (cupicef.SortSome (cupicef.type s7)) cstr_17 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B)) + (__ : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__0 : cupicef.Term (cupicef.type s0) A => C)))) + (respectful s1 s13 s2 s15 s5 s6 cstr_5 cstr_6 cstr_22 cstr_9 cstr_26 B + C RB RC) + (respectful s9 s10 s11 s12 s7 s8 cstr_17 cstr_18 cstr_19 cstr_20 + cstr_21 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s9))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s9))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s11)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s11) + (cupicef.axiom (cupicef.type s11)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s11))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s11))) + cstr_2 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => C))) + (respectful s0 s14 s1 s13 s9 s10 cstr_0 cstr_1 cstr_24 cstr_7 + cstr_23 A B RA RB) + (respectful s0 s14 s2 s15 s11 s12 cstr_2 cstr_3 cstr_25 cstr_10 + cstr_27 A C RA RC)) + (Coq__Program__Basics.compose + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 A) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_8 B) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_11 C)) + (Coq__Program__Basics.compose + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 A) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_8 B) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_11 C))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + s14 : cupicef.Nat => + s15 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s9)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s12)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s9)) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s11)) => + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s7)) => + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) => + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s8)) => + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s7)) => + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) => + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) => + cstr_23 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s10)) => + cstr_24 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) => + cstr_25 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s12)) => + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s6)) => + cstr_27 : + cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s12)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + C : cupicef.Univ (cupicef.type s2) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s14))) + (Coq__Classes__CRelationClasses.crelation s0 s14 A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s1 s13 B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s15))) + (Coq__Classes__CRelationClasses.crelation s2 s15 C) => + x : + (__ : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + y : + (__ : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + X : + cupicef.Term (cupicef.type s6) + (respectful s1 s13 s2 s15 s5 s6 cstr_5 cstr_6 cstr_22 cstr_9 cstr_26 B + C RB RC x y) => + x0 : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + y0 : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + X0 : + cupicef.Term (cupicef.type s10) + (respectful s0 s14 s1 s13 s9 s10 cstr_0 cstr_1 cstr_24 cstr_7 cstr_23 + A B RA RB x0 y0) => + x1 : cupicef.Term (cupicef.type s0) A => + y1 : cupicef.Term (cupicef.type s0) A => + X1 : cupicef.Term (cupicef.type s14) (RA x1 y1) => + X (x0 x1) (y0 y1) (X0 x1 y1 X1). + +def compose__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + s14 : cupicef.Nat -> + s15 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s9)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s12)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s9)) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s11)) -> + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s7)) -> + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s8)) -> + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s7)) -> + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) -> + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) -> + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s10)) -> + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) -> + cstr_25 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s12)) -> + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s6)) -> + cstr_27 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s12)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + C : cupicef.Univ (cupicef.type s2) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s14))) + (Coq__Classes__CRelationClasses.crelation s0 s14 A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s1 s13 B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s15))) + (Coq__Classes__CRelationClasses.crelation s2 s15 C) -> + cupicef.Term (cupicef.type s4) + (Proper s3 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s5)) cstr_9 + (cupicef.SortSome (cupicef.type s3)) cstr_12 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + (cupicef.trans (cupicef.type s1) + (cupicef.SortSome (cupicef.type s5)) cstr_5 + (cupicef.SortSome (cupicef.type s3)) cstr_12 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s3))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s9)) cstr_0 + (cupicef.SortSome (cupicef.type s7)) cstr_17 + (cupicef.SortSome (cupicef.type s3)) cstr_15 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + (cupicef.rule (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)))) + cupicef.I + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) cupicef.I + B (__ : cupicef.Term (cupicef.type s1) B => C)) + (__ : + (__ : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A (__0 : cupicef.Term (cupicef.type s0) A => B)) + (__0 : + (__0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A (__1 : cupicef.Term (cupicef.type s0) A => C))))) + (respectful s5 s6 s7 s8 s3 s4 cstr_12 cstr_13 cstr_14 cstr_15 cstr_16 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s5))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s5))) + cstr_5 cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) cupicef.I + B (__ : cupicef.Term (cupicef.type s1) B => C))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s7))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s11)) cstr_10 + (cupicef.SortSome (cupicef.type s7)) cstr_20 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s7))) + (cupicef.trans (cupicef.type s1) + (cupicef.SortSome (cupicef.type s9)) cstr_7 + (cupicef.SortSome (cupicef.type s7)) cstr_17 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s7))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s9)) cstr_0 + (cupicef.SortSome (cupicef.type s7)) cstr_17 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + (cupicef.rule + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.type s2))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A (__ : cupicef.Term (cupicef.type s0) A => B)) + (__ : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A (__0 : cupicef.Term (cupicef.type s0) A => C)))) + (respectful s1 s13 s2 s15 s5 s6 cstr_5 cstr_6 cstr_22 cstr_9 + cstr_26 B C RB RC) + (respectful s9 s10 s11 s12 s7 s8 cstr_17 cstr_18 cstr_19 cstr_20 + cstr_21 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s9))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s9))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + cupicef.I A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + (cupicef.axiom (cupicef.type s11)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s11) + (cupicef.axiom (cupicef.type s11)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s11))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s11))) + cstr_2 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s2) + (cupicef.rule (cupicef.type s0) (cupicef.type s2)) + cupicef.I A (__ : cupicef.Term (cupicef.type s0) A => C))) + (respectful s0 s14 s1 s13 s9 s10 cstr_0 cstr_1 cstr_24 cstr_7 + cstr_23 A B RA RB) + (respectful s0 s14 s2 s15 s11 s12 cstr_2 cstr_3 cstr_25 cstr_10 + cstr_27 A C RA RC))) + (Coq__Program__Basics.compose + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 A) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_8 B) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_11 C))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + s14 : cupicef.Nat => + s15 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s9)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s10)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s11)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s12)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s5)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s6)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s9)) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s5)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s11)) => + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s7)) => + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s8)) => + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s8)) => + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s7)) => + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) => + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s6)) => + cstr_23 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s10)) => + cstr_24 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) => + cstr_25 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s12)) => + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s6)) => + cstr_27 : + cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s12)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + C : cupicef.Univ (cupicef.type s2) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s14))) + (Coq__Classes__CRelationClasses.crelation s0 s14 A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s1 s13 B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s15))) + (Coq__Classes__CRelationClasses.crelation s2 s15 C) => + compose__proper__obligation__1 s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 + s13 s14 s15 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 + cstr_8 cstr_9 cstr_10 cstr_11 cstr_12 cstr_13 cstr_14 cstr_15 cstr_16 + cstr_17 cstr_18 cstr_19 cstr_20 cstr_21 cstr_22 cstr_23 cstr_24 cstr_25 + cstr_26 cstr_27 A B C RA RB RC. + +#TYPE_CLASS_INSTANCE compose__proper. + +thm reflexive__eq__dom__reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + B : cupicef.Univ (cupicef.type s0) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 B) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Reflexive s0 s4 B R_27_) -> + A : cupicef.Univ (cupicef.type s5) -> + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (Coq__Classes__CRelationClasses.Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) (cupicef.type s0) + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => B))) + (respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 cstr_2 A B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + B : cupicef.Univ (cupicef.type s0) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 B) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Reflexive s0 s4 B R_27_) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s5) => + Coq__Classes__CRelationClasses.Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) (cupicef.type s0) + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) cupicef.I + A (__ : cupicef.Term (cupicef.type s5) A => B))) + (respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 cstr_2 A + B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_))) + (cupicef.prod (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s5) => + Coq__Classes__CRelationClasses.Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) (cupicef.type s0) + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) cupicef.I + A (__ : cupicef.Term (cupicef.type s5) A => B))) + (respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 cstr_2 A + B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_))) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + (cupicef.type s2))) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + (cupicef.type s2)) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.rule + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + (cupicef.type s2))) + cupicef.I + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s5) => + cupicef.prod (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + (cupicef.type s2) + (cupicef.rule + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + (cupicef.type s2)) + cupicef.I + (cupicef.prod (cupicef.type s5) (cupicef.type s0) + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) cupicef.I + A (__ : cupicef.Term (cupicef.type s5) A => B)) + (x : + (__ : cupicef.Term (cupicef.type s5) A -> + cupicef.Term (cupicef.type s0) B) => + respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 + cstr_2 A B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_ x x))) + (cupicef.prod (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s5) => + Coq__Classes__CRelationClasses.Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s1))) + cstr_4 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) (cupicef.type s0) + (cupicef.rule (cupicef.type s5) (cupicef.type s0)) + cupicef.I A (__ : cupicef.Term (cupicef.type s5) A => B))) + (respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 + cstr_2 A B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_))) + cupicef.I + (A : cupicef.Univ (cupicef.type s5) => + x : + (__ : cupicef.Term (cupicef.type s5) A -> + cupicef.Term (cupicef.type s0) B) => + cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule cupicef.prop (cupicef.type s4)))) + (cupicef.type s2) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule cupicef.prop (cupicef.type s4))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule cupicef.prop (cupicef.type s4)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.rule cupicef.prop (cupicef.type s4)) + (cupicef.rule (cupicef.type s5) + (cupicef.rule cupicef.prop (cupicef.type s4))) + cupicef.I A + (y : cupicef.Term (cupicef.type s5) A => + cupicef.prod cupicef.prop (cupicef.type s4) + (cupicef.rule cupicef.prop (cupicef.type s4)) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y) => + R_27_ (x x0) (x y))))) + (respectful s5 s3 s0 s4 s1 s2 cstr_4 cstr_5 cstr_1 cstr_0 cstr_2 A + B + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s5)) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s5 s3 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A))) + R_27_ x x) + cupicef.I + (x0 : cupicef.Term (cupicef.type s5) A => + y : cupicef.Term (cupicef.type s5) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_6 A) + x0 y) => + cupicef.cast (cupicef.type s4) (cupicef.type s4) + (R_27_ (x x0) (x y)) (R_27_ (x x0) (x y)) cupicef.I + (cupicef.cast (cupicef.type s4) (cupicef.type s4) + ((x1 : cupicef.Term (cupicef.type s5) A => + R_27_ (x x1) (x y)) x0) + (R_27_ (x x0) (x y)) cupicef.I + (Coq__Init__Logic.eq__rect__r + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 A) + y + (cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s5) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s5) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s5) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type s5) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (cupicef.prod (cupicef.type s5) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s5) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_3 + (x1 : cupicef.Term (cupicef.type s5) A => + R_27_ (x x1) (x y))) + (cupicef.cast (cupicef.type s4) (cupicef.type s4) + (R_27_ (x y) (x y)) (R_27_ (x y) (x y)) cupicef.I + (H (x y))) + x0 H0))))). + +#TYPE_CLASS_INSTANCE reflexive__eq__dom__reflexive. + +thm respectful__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + s14 : cupicef.Nat -> + s15 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) (cupicef.type s8)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) (cupicef.type s10)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s14)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s15)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s15)) -> + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_16 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_17 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) -> + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s5)) -> + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s4)) -> + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s5)) -> + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) -> + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s9)) -> + cstr_25 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s14)) -> + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s9)) -> + cstr_27 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s15)) -> + cstr_28 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_29 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_30 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_31 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_32 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) -> + cstr_33 : cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s11)) -> + cstr_34 : cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s11)) -> + cstr_35 : + cupicef.eps + (cupicef.Cumul (cupicef.type s15) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_36 : + cupicef.eps + (cupicef.Cumul (cupicef.type s15) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s6) -> + B : cupicef.Univ (cupicef.type s12) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s0))) + (cupicef.trans (cupicef.type s14) + (cupicef.SortSome (cupicef.type s10)) cstr_32 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s0))) + (cupicef.trans (cupicef.type s12) + (cupicef.SortSome (cupicef.type s8)) cstr_23 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s2)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_3 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s15)) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s13)) + (cupicef.SortSome (cupicef.type s8)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (__0 : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__1 : cupicef.Term (cupicef.type s6) A => B))))))) + (respectful s2 s3 s4 s5 s0 s1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s2))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s6 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s4))) + (cupicef.trans (cupicef.type s14) + (cupicef.SortSome (cupicef.type s10)) cstr_32 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s4))) + (cupicef.trans (cupicef.type s12) + (cupicef.SortSome (cupicef.type s8)) cstr_23 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s15)) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s13)) + (cupicef.SortSome (cupicef.type s8)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s6) A => B)))))) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_8 cstr_9 cstr_12 cstr_14 cstr_15 A) + (respectful s8 s9 s10 s11 s4 s5 cstr_18 cstr_19 cstr_20 cstr_21 + cstr_22 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s8)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s8))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s8))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s12 s13 B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s10))) + cstr_32 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 s9 + s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence s14 s10 + s11 s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B)))))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 cstr_25 + cstr_27 A B)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + s14 : cupicef.Nat => + s15 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) (cupicef.type s8)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) (cupicef.type s10)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s14)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s15)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s15)) => + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_16 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_17 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_18 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) => + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s5)) => + cstr_21 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s4)) => + cstr_22 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s5)) => + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s8)) => + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s9)) => + cstr_25 : + cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s14)) => + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s9)) => + cstr_27 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s15)) => + cstr_28 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) => + cstr_29 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) => + cstr_30 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) => + cstr_31 : + cupicef.eps + (cupicef.Cumul (cupicef.type s13) (cupicef.type (cupicef.s cupicef.z))) => + cstr_32 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s10)) => + cstr_33 : + cupicef.eps (cupicef.Cumul (cupicef.type s14) (cupicef.type s11)) => + cstr_34 : + cupicef.eps (cupicef.Cumul (cupicef.type s15) (cupicef.type s11)) => + cstr_35 : + cupicef.eps + (cupicef.Cumul (cupicef.type s15) (cupicef.type (cupicef.s cupicef.z))) => + cstr_36 : + cupicef.eps + (cupicef.Cumul (cupicef.type s15) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s6) => + B : cupicef.Univ (cupicef.type s12) => + cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)))) + (cupicef.type s1) + (cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 + s7 cstr_0 cstr_8 cstr_9 cstr_12 cstr_14 cstr_15 A R R_27_) + (HRR_27_ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.relation__equivalence s6 + s2 s3 s7 cstr_0 cstr_8 cstr_9 cstr_12 cstr_14 cstr_15 A + R R_27_) => + respectful s8 s9 s10 s11 s4 s5 cstr_18 cstr_19 cstr_20 cstr_21 + cstr_22 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s8)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s8))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s8))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s12 s13 B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) + (cupicef.type s10))) + cstr_32 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) + (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 + s9 s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence s14 + s10 s11 s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 + cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B)))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R_27_))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.axiom (cupicef.type s7)) + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s0))) + (cupicef.trans (cupicef.type s14) + (cupicef.SortSome (cupicef.type s10)) cstr_32 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s0))) + (cupicef.trans (cupicef.type s12) + (cupicef.SortSome (cupicef.type s8)) cstr_23 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s2)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_3 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s15)) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s13)) + (cupicef.SortSome (cupicef.type s8)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + (cupicef.SortSome (cupicef.type s0)) cstr_6 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_3 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (__0 : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__1 : cupicef.Term (cupicef.type s6) A => B))))))) + (respectful s2 s3 s4 s5 s0 s1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s2))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s6 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.sup (cupicef.axiom (cupicef.type s13)) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s4))) + (cupicef.trans (cupicef.type s14) + (cupicef.SortSome (cupicef.type s10)) cstr_32 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s4))) + (cupicef.trans (cupicef.type s12) + (cupicef.SortSome (cupicef.type s8)) cstr_23 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s15)) + (cupicef.SortSome (cupicef.type s10)) cstr_2 + (cupicef.SortSome (cupicef.type s4)) cstr_21 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s13)) + (cupicef.SortSome (cupicef.type s8)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_18 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s6) A => B)))))) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_8 cstr_9 cstr_12 cstr_14 cstr_15 A) + (respectful s8 s9 s10 s11 s4 s5 cstr_18 cstr_19 cstr_20 cstr_21 + cstr_22 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s8)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s8))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s8))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s12 s13 B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s10))) + cstr_32 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 s9 + s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence s14 s10 + s11 s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B)))))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 cstr_25 + cstr_27 A B)) + cupicef.I + (R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + HRR_27_ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_8 cstr_9 cstr_12 cstr_14 cstr_15 A R R_27_) => + cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s12) (cupicef.axiom (cupicef.type s13))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule (cupicef.type s9) (cupicef.type s11)))) + (cupicef.type s5) + (cupicef.prod + (cupicef.sup (cupicef.type s12) (cupicef.axiom (cupicef.type s13))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule (cupicef.type s9) (cupicef.type s11))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule (cupicef.type s9) (cupicef.type s11)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (S : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + cupicef.prod + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule (cupicef.type s9) (cupicef.type s11)) + (cupicef.rule + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.rule (cupicef.type s9) (cupicef.type s11))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s12 s13 B) + (S_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + cupicef.prod (cupicef.type s9) (cupicef.type s11) + (cupicef.rule (cupicef.type s9) (cupicef.type s11)) + cupicef.I + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 + s9 s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B S + S_27_) + (HSS_27_ : + cupicef.Term (cupicef.type s9) + (Coq__Classes__CRelationClasses.relation__equivalence + s12 s8 s9 s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 + cstr_29 B S S_27_) => + Coq__Classes__CRelationClasses.relation__equivalence s14 + s10 s11 s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 + cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R S) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R_27_ S_27_))))) + (respectful s8 s9 s10 s11 s4 s5 cstr_18 cstr_19 cstr_20 cstr_21 + cstr_22 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s8)) + (cupicef.univ + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s8))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s13)) + (cupicef.type s8))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s12 s13 B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15))) + (cupicef.axiom + (cupicef.sup (cupicef.type s14) + (cupicef.axiom (cupicef.type s15)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s14) (cupicef.type s10))) + cstr_32 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s15)) + (cupicef.type s10))) + cstr_2 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s14 s15 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) + (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 s9 + s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence s14 s10 s11 + s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A (__ : cupicef.Term (cupicef.type s6) A => B)))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 cstr_25 + cstr_27 A B R) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 cstr_25 + cstr_27 A B R_27_)) + cupicef.I + (S : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + S_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s12) + (cupicef.axiom (cupicef.type s13))) + (Coq__Classes__CRelationClasses.crelation s12 s13 B) => + HSS_27_ : + cupicef.Term (cupicef.type s9) + (Coq__Classes__CRelationClasses.relation__equivalence s12 s8 s9 + s13 cstr_1 cstr_23 cstr_24 cstr_26 cstr_28 cstr_29 B S S_27_) => + cupicef.cast + (cupicef.rule (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.rule + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.type s15))) + (cupicef.type s11) + (cupicef.prod (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.rule + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.type s15)) + (cupicef.rule + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.rule + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.type s15))) + cupicef.I + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A (__ : cupicef.Term (cupicef.type s6) A => B)) + (f : + (__ : cupicef.Term (cupicef.type s6) A -> + cupicef.Term (cupicef.type s12) B) => + cupicef.prod + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.type s15) + (cupicef.rule + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + (cupicef.type s15)) + cupicef.I + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A (__ : cupicef.Term (cupicef.type s6) A => B)) + (g : + (__ : cupicef.Term (cupicef.type s6) A -> + cupicef.Term (cupicef.type s12) B) => + Coq__Classes__CRelationClasses.iffT s15 s15 cstr_35 cstr_36 + cstr_35 cstr_36 + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R S f g) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R_27_ S_27_ f g)))) + (Coq__Classes__CRelationClasses.relation__equivalence s14 s10 s11 + s15 cstr_2 cstr_32 cstr_33 cstr_34 cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + (cupicef.axiom (cupicef.type s14)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.type s12)) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.type s12))) + cupicef.I) + (cupicef.univ (cupicef.type s14) + (cupicef.axiom (cupicef.type s14)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s12) (cupicef.type s14))) + cstr_25 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s14))) + cstr_10 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) (cupicef.type s12) + (cupicef.rule (cupicef.type s6) (cupicef.type s12)) + cupicef.I A (__ : cupicef.Term (cupicef.type s6) A => B))) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R S) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R_27_ S_27_)) + cupicef.I + (f : + (__ : cupicef.Term (cupicef.type s6) A -> + cupicef.Term (cupicef.type s12) B) => + g : + (__ : cupicef.Term (cupicef.type s6) A -> + cupicef.Term (cupicef.type s12) B) => + cupicef.cast (cupicef.type s15) (cupicef.type s15) + (Coq__Classes__CRelationClasses.iffT s15 s15 cstr_35 cstr_36 + cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s15)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s15) + (cupicef.axiom (cupicef.type s15)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type s15))) + cstr_27 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s15))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s15))) + cstr_11 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y)))))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s15)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s15) + (cupicef.axiom (cupicef.type s15)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type s15))) + cstr_27 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s15))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s15))) + cstr_11 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__ : cupicef.Term (cupicef.type s7) (R_27_ x y) => + S_27_ (f x) (g y))))))) + (Coq__Classes__CRelationClasses.iffT s15 s15 cstr_35 cstr_36 + cstr_35 cstr_36 + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R S f g) + (respectful s6 s7 s12 s13 s14 s15 cstr_10 cstr_11 cstr_13 + cstr_25 cstr_27 A B R_27_ S_27_ f g)) + cupicef.I + (cupicef.cast + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13))) + (cupicef.type s15) + (Coq__Init__Datatypes.prod + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13))) + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s13))) + (cupicef.prod + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))))) + cupicef.I + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y))))) + (__ : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R x y) -> + cupicef.Term (cupicef.type s13) (S (f x) (g y))) => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__0 : + cupicef.Term (cupicef.type s7) (R_27_ x y) => + S_27_ (f x) (g y)))))) + (cupicef.prod + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))))) + cupicef.I + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__ : + cupicef.Term (cupicef.type s7) (R_27_ x y) => + S_27_ (f x) (g y))))) + (__ : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R_27_ x y) -> + cupicef.Term (cupicef.type s13) + (S_27_ (f x) (g y))) => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__0 : cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y))))))) + (Coq__Classes__CRelationClasses.iffT s15 s15 cstr_35 cstr_36 + cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s15)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s15) + (cupicef.axiom (cupicef.type s15)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type s15))) + cstr_27 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s15))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s15))) + cstr_11 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y)))))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.axiom (cupicef.type s15)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type s15) + (cupicef.axiom (cupicef.type s15)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type s15))) + cstr_27 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s15))) + cstr_13 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s15))) + cstr_11 cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__ : + cupicef.Term (cupicef.type s7) (R_27_ x y) => + S_27_ (f x) (g y))))))) + cupicef.I + (Coq__Init__Datatypes.pair + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_28 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_14 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s15)) cstr_11 + (cupicef.SortSome + (cupicef.type (cupicef.s cupicef.z))) + cstr_35 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))))) + cupicef.I + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__ : + cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y))))) + (__ : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R x y) -> + cupicef.Term (cupicef.type s13) (S (f x) (g y))) => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__0 : + cupicef.Term (cupicef.type s7) + (R_27_ x y) => + S_27_ (f x) (g y))))))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s13) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_29 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s15)) cstr_11 + (cupicef.SortSome + (cupicef.type (cupicef.s cupicef.z))) + cstr_36 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))))) + cupicef.I + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R_27_ x y) + (__ : + cupicef.Term (cupicef.type s7) + (R_27_ x y) => + S_27_ (f x) (g y))))) + (__ : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R_27_ x y) -> + cupicef.Term (cupicef.type s13) + (S_27_ (f x) (g y))) => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.type s13) + (cupicef.rule (cupicef.type s7) + (cupicef.type s13)) + cupicef.I (R x y) + (__0 : + cupicef.Term (cupicef.type s7) (R x y) => + S (f x) (g y))))))) + (H : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R x y) -> + cupicef.Term (cupicef.type s13) (S (f x) (g y))) => + x : cupicef.Term (cupicef.type s6) A => + y : cupicef.Term (cupicef.type s6) A => + Hxy : cupicef.Term (cupicef.type s7) (R_27_ x y) => + Coq__Init__Datatypes.fst + (cupicef.cast (cupicef.axiom (cupicef.type s13)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s13) + (cupicef.axiom (cupicef.type s13)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_30 + (cupicef.prod (cupicef.type s13) (cupicef.type s13) + (cupicef.rule (cupicef.type s13) + (cupicef.type s13)) + cupicef.I (S (f x) (g y)) + (__ : + cupicef.Term (cupicef.type s13) + (S (f x) (g y)) => + S_27_ (f x) (g y)))) + (cupicef.cast (cupicef.axiom (cupicef.type s13)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s13) + (cupicef.axiom (cupicef.type s13)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_31 + (cupicef.prod (cupicef.type s13) (cupicef.type s13) + (cupicef.rule (cupicef.type s13) + (cupicef.type s13)) + cupicef.I (S_27_ (f x) (g y)) + (__ : + cupicef.Term (cupicef.type s13) + (S_27_ (f x) (g y)) => + S (f x) (g y)))) + (HSS_27_ (f x) (g y)) + (H x y + (Coq__Init__Datatypes.snd + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_16 + (cupicef.prod (cupicef.type s7) + (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.type s7)) + cupicef.I (R x y) + (__ : + cupicef.Term (cupicef.type s7) (R x y) => + R_27_ x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_17 + (cupicef.prod (cupicef.type s7) + (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.type s7)) + cupicef.I (R_27_ x y) + (__ : + cupicef.Term (cupicef.type s7) + (R_27_ x y) => + R x y))) + (HRR_27_ x y) Hxy))) + (H : + (x : cupicef.Term (cupicef.type s6) A -> + y : cupicef.Term (cupicef.type s6) A -> + __ : cupicef.Term (cupicef.type s7) (R_27_ x y) -> + cupicef.Term (cupicef.type s13) (S_27_ (f x) (g y))) => + x : cupicef.Term (cupicef.type s6) A => + y : cupicef.Term (cupicef.type s6) A => + Hxy : cupicef.Term (cupicef.type s7) (R x y) => + Coq__Init__Datatypes.snd + (cupicef.cast (cupicef.axiom (cupicef.type s13)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s13) + (cupicef.axiom (cupicef.type s13)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_30 + (cupicef.prod (cupicef.type s13) (cupicef.type s13) + (cupicef.rule (cupicef.type s13) + (cupicef.type s13)) + cupicef.I (S (f x) (g y)) + (__ : + cupicef.Term (cupicef.type s13) + (S (f x) (g y)) => + S_27_ (f x) (g y)))) + (cupicef.cast (cupicef.axiom (cupicef.type s13)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s13) + (cupicef.axiom (cupicef.type s13)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_31 + (cupicef.prod (cupicef.type s13) (cupicef.type s13) + (cupicef.rule (cupicef.type s13) + (cupicef.type s13)) + cupicef.I (S_27_ (f x) (g y)) + (__ : + cupicef.Term (cupicef.type s13) + (S_27_ (f x) (g y)) => + S (f x) (g y)))) + (HSS_27_ (f x) (g y)) + (H x y + (Coq__Init__Datatypes.fst + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_16 + (cupicef.prod (cupicef.type s7) + (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.type s7)) + cupicef.I (R x y) + (__ : + cupicef.Term (cupicef.type s7) (R x y) => + R_27_ x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_17 + (cupicef.prod (cupicef.type s7) + (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.type s7)) + cupicef.I (R_27_ x y) + (__ : + cupicef.Term (cupicef.type s7) + (R_27_ x y) => + R x y))) + (HRR_27_ x y) Hxy)))))))). + +#TYPE_CLASS_INSTANCE respectful__morphism. + +thm Reflexive__partial__app__morphism : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) -> + m : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) -> + H : + cupicef.Term (cupicef.type s3) + (Proper s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A B + R R_27_) + m) -> + x : cupicef.Term (cupicef.type s0) A -> + H0 : cupicef.Term (cupicef.type s4) (ProperProxy s0 s4 A R x) -> + cupicef.Term (cupicef.type s5) (Proper s1 s5 B R_27_ (m x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s0 s4 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s1 s5 B) => + m : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + H : + cupicef.Term (cupicef.type s3) + (Proper s2 s3 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (respectful s0 s4 s1 s5 s2 s3 cstr_0 cstr_1 cstr_3 cstr_2 cstr_4 A + B R R_27_) + m) => + x : cupicef.Term (cupicef.type s0) A => + H0 : cupicef.Term (cupicef.type s4) (ProperProxy s0 s4 A R x) => + cupicef.cast (cupicef.type s5) (cupicef.type s5) + (Proper s1 s5 B R_27_ (m x)) (Proper s1 s5 B R_27_ (m x)) cupicef.I + (cupicef.cast (cupicef.type s5) (cupicef.type s5) (R_27_ (m x) (m x)) + (Proper s1 s5 B R_27_ (m x)) cupicef.I + (cupicef.cast (cupicef.type s5) (cupicef.type s5) (R_27_ (m x) (m x)) + (R_27_ (m x) (m x)) cupicef.I + (cupicef.cast (cupicef.type s5) (cupicef.type s5) + (R_27_ (m x) (m x)) (R_27_ (m x) (m x)) cupicef.I + (cupicef.cast (cupicef.type s5) (cupicef.type s5) + (R_27_ (m x) (m x)) (R_27_ (m x) (m x)) cupicef.I (H x x H0))))). + +def Params : + s0 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + of : cupicef.Term (cupicef.type s0) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS Params. + +def Build__Params : + s0 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + of : cupicef.Term (cupicef.type s0) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (Params s0 A of arity). + +[ ] cupicef.code_guarded? _ (Build__Params _ _ _ _) --> cupicef.guarded. + +def match____Params : + s0 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + of : cupicef.Term (cupicef.type s0) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : (cupicef.Term cupicef.prop (Params s0 A of arity) -> cupicef.Univ s) -> + case__Build__Params : cupicef.Term s (P (Build__Params s0 A of arity)) -> + x : cupicef.Term cupicef.prop (Params s0 A of arity) -> + cupicef.Term s (P x). + +[ s0, s, A, of, arity, P, case__Build__Params] + match____Params s0 s A of arity P case__Build__Params + (Build__Params s0 A of arity) + --> + case__Build__Params. + +[ s0, s, A, of, arity, P, s'] + match____Params s0 s A of arity + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Params s0 s' A of arity (x => P x). + +thm flip__respectful : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s9)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s10)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s3)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s5)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s8)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s8)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s1 s7 B) -> + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s3 s4 s8 cstr_2 + cstr_7 cstr_8 cstr_11 cstr_12 cstr_13 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (Coq__Classes__CRelationClasses.flip s2 s2 s5 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_3 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s0 s6 s1 s7 s2 s8 cstr_4 cstr_5 cstr_9 cstr_6 cstr_10 A + B R R_27_)) + (respectful s0 s6 s1 s7 s2 s8 cstr_4 cstr_5 cstr_9 cstr_6 cstr_10 A B + (Coq__Classes__CRelationClasses.flip s0 s0 s9 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.flip s1 s1 s10 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + R_27_))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s9)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s10)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s3)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s5)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s8)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s8)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s0 s6 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s1 s7 B) => + cupicef.cast + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))))) + (cupicef.type s4) + (cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + cupicef.prod (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + cupicef.I + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + Coq__Init__Datatypes.prod + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R x0 y0) + (__ : cupicef.Term (cupicef.type s6) (R x0 y0) => + R_27_ (y x0) (x y0))))) + (__ : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R x0 y0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y x0) (x y0))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R y0 x0) + (__0 : cupicef.Term (cupicef.type s6) (R y0 x0) => + R_27_ (y y0) (x x0)))))) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R y0 x0) + (__ : cupicef.Term (cupicef.type s6) (R y0 x0) => + R_27_ (y y0) (x x0))))) + (__ : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R y0 x0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y y0) (x x0))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R x0 y0) + (__0 : cupicef.Term (cupicef.type s6) (R x0 y0) => + R_27_ (y x0) (x y0))))))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s3 s4 s8 cstr_2 + cstr_7 cstr_8 cstr_11 cstr_12 cstr_13 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B))) + (Coq__Classes__CRelationClasses.flip s2 s2 s5 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s2))) + cstr_6 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_4 cupicef.BoolNone) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I + A (__ : cupicef.Term (cupicef.type s0) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_3 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s0 s6 s1 s7 s2 s8 cstr_4 cstr_5 cstr_9 cstr_6 cstr_10 + A B R R_27_)) + (respectful s0 s6 s1 s7 s2 s8 cstr_4 cstr_5 cstr_9 cstr_6 cstr_10 A B + (Coq__Classes__CRelationClasses.flip s0 s0 s9 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R) + (Coq__Classes__CRelationClasses.flip s1 s1 s10 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + R_27_))) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + y : + (__ : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) B) => + Coq__Init__Datatypes.pair + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s8)) cstr_10 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_12 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s8)) cstr_9 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_12 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s8)) cstr_5 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_12 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R x0 y0) + (__ : cupicef.Term (cupicef.type s6) (R x0 y0) => + R_27_ (y x0) (x y0))))) + (__ : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R x0 y0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y x0) (x y0))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R y0 x0) + (__0 : cupicef.Term (cupicef.type s6) (R y0 x0) => + R_27_ (y y0) (x x0))))))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s6) (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s8)) cstr_10 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_13 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s8)) cstr_9 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_13 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.trans (cupicef.type s0) + (cupicef.SortSome (cupicef.type s8)) cstr_5 + (cupicef.SortSome (cupicef.type (cupicef.s cupicef.z))) + cstr_13 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R y0 x0) + (__ : cupicef.Term (cupicef.type s6) (R y0 x0) => + R_27_ (y y0) (x x0))))) + (__ : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R y0 x0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y y0) (x x0))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s6) (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s6) (cupicef.type s7) + (cupicef.rule (cupicef.type s6) (cupicef.type s7)) + cupicef.I (R x0 y0) + (__0 : cupicef.Term (cupicef.type s6) (R x0 y0) => + R_27_ (y x0) (x y0))))))) + (X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R x0 y0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y x0) (x y0))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s6) (R y0 x0) => + cupicef.cast (cupicef.type s7) (cupicef.type s7) + (R_27_ (y y0) (x x0)) (R_27_ (y y0) (x x0)) cupicef.I (X y0 x0 X0)) + (X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s6) (R y0 x0) -> + cupicef.Term (cupicef.type s7) (R_27_ (y y0) (x x0))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 : cupicef.Term (cupicef.type s6) (R x0 y0) => + cupicef.cast (cupicef.type s7) (cupicef.type s7) + (R_27_ (y x0) (x y0)) (R_27_ (y x0) (x y0)) cupicef.I (X y0 x0 X0))). + +thm flip1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A R_27_ R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R_27_)) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A R_27_ R) => + H. + +thm flip2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s2 s1 A R R_27_) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s2 s1 A R + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R_27_))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s2 s1 A R R_27_) => + H. + +thm eq__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Coq__Classes__CRelationClasses.Reflexive s0 s2 A R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (Coq__Classes__CRelationClasses.crelation s0 s2 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Coq__Classes__CRelationClasses.Reflexive s0 s2 A R) => + cupicef.cast + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + R) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + R) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s2)))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s2)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule cupicef.prop (cupicef.type s2))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod cupicef.prop (cupicef.type s2) + (cupicef.rule cupicef.prop (cupicef.type s2)) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A) + x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A) + x y) => + R x y)))) + (Coq__Classes__CRelationClasses.subrelation s0 s1 s2 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + R) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A) + x y) => + cupicef.cast (cupicef.type s2) (cupicef.type s2) (R x y) (R x y) + cupicef.I + (cupicef.cast (cupicef.type s2) (cupicef.type s2) + ((x0 : cupicef.Term (cupicef.type s0) A => R x0 y) x) ( + R x y) cupicef.I + (Coq__Init__Logic.eq__rect__r + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 A) + y + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + (cupicef.prod (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_2 (x0 : cupicef.Term (cupicef.type s0) A => R x0 y)) + (cupicef.cast (cupicef.type s2) (cupicef.type s2) (R y y) + (R y y) cupicef.I (H y)) + x H0)))). + +def proper__flip__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + m : cupicef.Term (cupicef.type s0) A -> + mor : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R m) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 A + (Coq__Classes__CRelationClasses.flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R) + m) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + m : cupicef.Term (cupicef.type s0) A => + mor : cupicef.Term (cupicef.type s1) (Proper s0 s1 A R m) => + mor. + +thm reflexive__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.Reflexive s0 s1 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (Proper s0 s1 A R x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Coq__Classes__CRelationClasses.Reflexive s0 s1 A R) => + x : cupicef.Term (cupicef.type s0) A => + (X : cupicef.Term (cupicef.type s1) (R x x) => X) (H x). + +thm proper__eq : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + x : cupicef.Term (cupicef.type s0) A => + reflexive__proper s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + (Coq__Classes__CRelationClasses.eq__Reflexive s0 s1 cstr_0 A) x. + +def PartialApplication : + cupicef.Univ cupicef.prop. + +#TYPE_CLASS PartialApplication. + +def Build__PartialApplication : + cupicef.Term cupicef.prop PartialApplication. + +[ ] cupicef.code_guarded? _ Build__PartialApplication --> cupicef.guarded. + +def match____PartialApplication : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.prop PartialApplication -> cupicef.Univ s) -> + case__Build__PartialApplication : + cupicef.Term s (P Build__PartialApplication) -> + x : cupicef.Term cupicef.prop PartialApplication -> + cupicef.Term s (P x). + +[ s, P, case__Build__PartialApplication] + match____PartialApplication s P case__Build__PartialApplication + Build__PartialApplication + --> + case__Build__PartialApplication. + +[ s, P, s'] + match____PartialApplication s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PartialApplication s' (x => P x). + +def normalization__done : + cupicef.Univ cupicef.prop. + +def did__normalization : + cupicef.Term cupicef.prop normalization__done. + +thm proper__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s9)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) -> + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_16 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_17 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) -> + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s6) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s2)) cstr_7 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)))) + (respectful s2 s3 s4 s5 s0 s1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s2))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s6 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s4))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_20 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_7 cstr_8 cstr_12 cstr_15 cstr_16 A) + (respectful s6 s8 s9 s7 s4 s5 cstr_9 cstr_10 cstr_19 cstr_20 + cstr_13 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s6 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A))) + (Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 + cstr_15 cstr_16))) + (Proper s6 s7 A)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s9)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s2)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s3)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) => + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_15 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_16 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_17 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_19 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) => + cstr_20 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s4)) => + A : cupicef.Univ (cupicef.type s6) => + cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)))) + (cupicef.type s1) + (cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s3) (cupicef.type s5))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 + s7 cstr_0 cstr_7 cstr_8 cstr_12 cstr_15 cstr_16 A R R_27_) + (HRR_27_ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.relation__equivalence s6 + s2 s3 s7 cstr_0 cstr_7 cstr_8 cstr_12 cstr_15 cstr_16 A + R R_27_) => + respectful s6 s8 s9 s7 s4 s5 cstr_9 cstr_10 cstr_19 cstr_20 + cstr_13 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s6 s8 A) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A))) + (Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 + cstr_15 cstr_16) + (Proper s6 s7 A R) (Proper s6 s7 A R_27_))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + (cupicef.trans (cupicef.type s6) + (cupicef.SortSome (cupicef.type s2)) cstr_7 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I (Coq__Classes__CRelationClasses.crelation s6 s7 A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)))) + (respectful s2 s3 s4 s5 s0 s1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s2))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s2))) + cstr_0 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s6 s7 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s4))) + cstr_9 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s9)) cstr_1 + (cupicef.SortSome (cupicef.type s4)) cstr_20 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I))) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_7 cstr_8 cstr_12 cstr_15 cstr_16 A) + (respectful s6 s8 s9 s7 s4 s5 cstr_9 cstr_10 cstr_19 cstr_20 + cstr_13 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s6 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A))) + (Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 + cstr_15 cstr_16))) + (Proper s6 s7 A)) + cupicef.I + (R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + HRR_27_ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.relation__equivalence s6 s2 s3 s7 + cstr_0 cstr_7 cstr_8 cstr_12 cstr_15 cstr_16 A R R_27_) => + cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + (cupicef.type s5) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule cupicef.prop (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule cupicef.prop (cupicef.type s7)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule cupicef.prop (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule cupicef.prop (cupicef.type s7))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod cupicef.prop (cupicef.type s7) + (cupicef.rule cupicef.prop (cupicef.type s7)) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A) + x y) => + (y0 : cupicef.Term (cupicef.type s6) A => + Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 + cstr_15 cstr_16 (Proper s6 s7 A R x) + (Proper s6 s7 A R_27_ y0)) + y)))) + (respectful s6 s8 s9 s7 s4 s5 cstr_9 cstr_10 cstr_19 cstr_20 cstr_13 + A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s9)) + (cupicef.univ (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.axiom (cupicef.type s7))) cupicef.I) + (cupicef.univ (cupicef.type s9) + (cupicef.axiom (cupicef.type s9)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s8))) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s6) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s6 s8 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A))) + (Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 cstr_15 + cstr_16) + (Proper s6 s7 A R) (Proper s6 s7 A R_27_)) + cupicef.I + (x : cupicef.Term (cupicef.type s6) A => + y : cupicef.Term (cupicef.type s6) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A) + x y) => + Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_11 A) + x + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I)) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_14 + (y0 : cupicef.Term (cupicef.type s6) A => + Coq__Classes__CRelationClasses.iffT s7 s7 cstr_15 cstr_16 + cstr_15 cstr_16 (Proper s6 s7 A R x) + (Proper s6 s7 A R_27_ y0))) + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_15 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R x) + (__ : cupicef.Term (cupicef.type s7) (Proper s6 s7 A R x) => + Proper s6 s7 A R_27_ x))) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_16 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R_27_ x) + (__ : + cupicef.Term (cupicef.type s7) + (Proper s6 s7 A R_27_ x) => + Proper s6 s7 A R x))) + (cupicef.cast + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R x) + (X : cupicef.Term (cupicef.type s7) (Proper s6 s7 A R x) => + R_27_ x x)) + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R x) + (__ : cupicef.Term (cupicef.type s7) (Proper s6 s7 A R x) => + Proper s6 s7 A R_27_ x)) + cupicef.I + (X : cupicef.Term (cupicef.type s7) (Proper s6 s7 A R x) => + Coq__Init__Datatypes.fst + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_17 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (R x x) + (__ : cupicef.Term (cupicef.type s7) (R x x) => + R_27_ x x))) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (R_27_ x x) + (__ : cupicef.Term (cupicef.type s7) (R_27_ x x) => + R x x))) + (HRR_27_ x x) X)) + (cupicef.cast + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R_27_ x) + (X : + cupicef.Term (cupicef.type s7) + (Proper s6 s7 A R_27_ x) => + R x x)) + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (Proper s6 s7 A R_27_ x) + (__ : + cupicef.Term (cupicef.type s7) + (Proper s6 s7 A R_27_ x) => + Proper s6 s7 A R x)) + cupicef.I + (X : cupicef.Term (cupicef.type s7) (Proper s6 s7 A R_27_ x) => + Coq__Init__Datatypes.snd + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_17 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (R x x) + (__ : cupicef.Term (cupicef.type s7) (R x x) => + R_27_ x x))) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 + (cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I (R_27_ x x) + (__ : cupicef.Term (cupicef.type s7) (R_27_ x x) => + R x x))) + (HRR_27_ x x) X))) + y H)). + +#TYPE_CLASS_INSTANCE proper__proper. + +def Normalizes : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + m : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + cupicef.Univ (cupicef.type s2) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + m : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + Coq__Classes__CRelationClasses.relation__equivalence s0 s1 s2 s3 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A m m_27_. + +#TYPE_CLASS Normalizes. + +def normalizes : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + m : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + Normalizes0 : + cupicef.Term (cupicef.type s2) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A m + m_27_) -> + cupicef.Term (cupicef.type s2) + (Coq__Classes__CRelationClasses.relation__equivalence s0 s1 s2 s3 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A m m_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + m : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + Normalizes0 : + cupicef.Term (cupicef.type s2) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A m + m_27_) => + Normalizes0. + +thm proper__normalizes__proper : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + H : + cupicef.Term (cupicef.type s2) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A R0 + R1) -> + m : cupicef.Term (cupicef.type s0) A -> + H0 : cupicef.Term (cupicef.type s3) (Proper s0 s3 A R1 m) -> + cupicef.Term (cupicef.type s3) (Proper s0 s3 A R0 m) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + H : + cupicef.Term (cupicef.type s2) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A R0 + R1) => + m : cupicef.Term (cupicef.type s0) A => + H0 : cupicef.Term (cupicef.type s3) (Proper s0 s3 A R1 m) => + Coq__Init__Datatypes.snd + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R0 m m) (__ : cupicef.Term (cupicef.type s3) (R0 m m) => R1 m m))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_7 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R1 m m) (__ : cupicef.Term (cupicef.type s3) (R1 m m) => R0 m m))) + (H m m) H0. + +thm flip__atom : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) -> + cupicef.Term (cupicef.type s2) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s0 s3 A) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.type s2) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s3) (R x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y) + (__ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y) => + R x y))))) + (Normalizes s0 s1 s2 s3 cstr_0 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 A R + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R))) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s3) (R x y) => + Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y) + (__ : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y) => + R x y))) + (X : cupicef.Term (cupicef.type s3) (R x y) => X) + (X : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (Coq__Classes__CRelationClasses.flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R) + x y) => + X)). + +thm flip__arrow : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + s13 : cupicef.Nat -> + s14 : cupicef.Nat -> + s15 : cupicef.Nat -> + s16 : cupicef.Nat -> + s17 : cupicef.Nat -> + s18 : cupicef.Nat -> + s19 : cupicef.Nat -> + s20 : cupicef.Nat -> + s21 : cupicef.Nat -> + s22 : cupicef.Nat -> + s23 : cupicef.Nat -> + s24 : cupicef.Nat -> + s25 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s10)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s1)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s16)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s7)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s12)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s14)) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s18)) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s23)) -> + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s21)) (cupicef.type s9)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s21)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s23)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s8)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s10)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s11)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s8)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s11)) -> + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_19 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_20 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_21 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_22 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) -> + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s16)) -> + cstr_25 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s17)) -> + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) -> + cstr_27 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s17)) -> + cstr_28 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_29 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_30 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_31 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_32 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_33 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s21)) -> + cstr_34 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_35 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_36 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_37 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s18)) -> + cstr_38 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s14)) -> + cstr_39 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s15)) -> + cstr_40 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s25)) -> + cstr_41 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s15)) -> + cstr_42 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s14)) -> + cstr_43 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s25)) -> + cstr_44 : cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s15)) -> + cstr_45 : cupicef.eps (cupicef.Cumul (cupicef.type s16) (cupicef.type s12)) -> + cstr_46 : cupicef.eps (cupicef.Cumul (cupicef.type s16) (cupicef.type s13)) -> + cstr_47 : cupicef.eps (cupicef.Cumul (cupicef.type s17) (cupicef.type s13)) -> + cstr_48 : cupicef.eps (cupicef.Cumul (cupicef.type s20) (cupicef.type s19)) -> + cstr_49 : cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s13)) -> + cstr_50 : cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s19)) -> + cstr_51 : cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s22)) -> + cstr_52 : + cupicef.eps + (cupicef.Cumul (cupicef.type s21) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_53 : cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s12)) -> + cstr_54 : cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s18)) -> + cstr_55 : cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s19)) -> + cstr_56 : cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s22)) -> + cstr_57 : + cupicef.eps + (cupicef.Cumul (cupicef.type s23) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_58 : + cupicef.eps + (cupicef.Cumul (cupicef.type s23) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_59 : cupicef.eps (cupicef.Cumul (cupicef.type s24) (cupicef.type s22)) -> + A : cupicef.Univ (cupicef.type s3) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s3 s4 A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type s3) A -> + __0 : cupicef.Term (cupicef.type s3) A -> + cupicef.Univ (cupicef.type s4)) -> + NA : + cupicef.Term (cupicef.type s11) + (Normalizes s3 s10 s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 + cstr_19 A R + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_)) -> + B : cupicef.Univ (cupicef.type s5) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type s5) B -> + __0 : cupicef.Term (cupicef.type s5) B -> + cupicef.Univ (cupicef.type s6)) -> + NB : + cupicef.Term (cupicef.type s17) + (Normalizes s5 s16 s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 + cstr_29 B R_27_ + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_)) -> + cupicef.Term (cupicef.type s21) + (Normalizes s2 s23 s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 cstr_26 + A B R R_27_) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + s13 : cupicef.Nat => + s14 : cupicef.Nat => + s15 : cupicef.Nat => + s16 : cupicef.Nat => + s17 : cupicef.Nat => + s18 : cupicef.Nat => + s19 : cupicef.Nat => + s20 : cupicef.Nat => + s21 : cupicef.Nat => + s22 : cupicef.Nat => + s23 : cupicef.Nat => + s24 : cupicef.Nat => + s25 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s10)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s1)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) (cupicef.type s16)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s7)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s12)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s14)) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s18)) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s23)) => + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s21)) (cupicef.type s9)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s21)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s23)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s8)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s10)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s11)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s8)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s11)) => + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_19 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_20 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_21 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_22 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_23 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s2)) => + cstr_24 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s16)) => + cstr_25 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s17)) => + cstr_26 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) => + cstr_27 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s17)) => + cstr_28 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) => + cstr_29 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) => + cstr_30 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) => + cstr_31 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) => + cstr_32 : + cupicef.eps + (cupicef.Cumul (cupicef.type s6) (cupicef.type (cupicef.s cupicef.z))) => + cstr_33 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s21)) => + cstr_34 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_35 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_36 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_37 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s18)) => + cstr_38 : + cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s14)) => + cstr_39 : + cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s15)) => + cstr_40 : + cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s25)) => + cstr_41 : + cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s15)) => + cstr_42 : + cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s14)) => + cstr_43 : + cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s25)) => + cstr_44 : + cupicef.eps (cupicef.Cumul (cupicef.type s13) (cupicef.type s15)) => + cstr_45 : + cupicef.eps (cupicef.Cumul (cupicef.type s16) (cupicef.type s12)) => + cstr_46 : + cupicef.eps (cupicef.Cumul (cupicef.type s16) (cupicef.type s13)) => + cstr_47 : + cupicef.eps (cupicef.Cumul (cupicef.type s17) (cupicef.type s13)) => + cstr_48 : + cupicef.eps (cupicef.Cumul (cupicef.type s20) (cupicef.type s19)) => + cstr_49 : + cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s13)) => + cstr_50 : + cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s19)) => + cstr_51 : + cupicef.eps (cupicef.Cumul (cupicef.type s21) (cupicef.type s22)) => + cstr_52 : + cupicef.eps + (cupicef.Cumul (cupicef.type s21) (cupicef.type (cupicef.s cupicef.z))) => + cstr_53 : + cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s12)) => + cstr_54 : + cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s18)) => + cstr_55 : + cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s19)) => + cstr_56 : + cupicef.eps (cupicef.Cumul (cupicef.type s23) (cupicef.type s22)) => + cstr_57 : + cupicef.eps + (cupicef.Cumul (cupicef.type s23) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_58 : + cupicef.eps + (cupicef.Cumul (cupicef.type s23) (cupicef.type (cupicef.s cupicef.z))) => + cstr_59 : + cupicef.eps (cupicef.Cumul (cupicef.type s24) (cupicef.type s22)) => + A : cupicef.Univ (cupicef.type s3) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s3) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s3 s4 A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type s3) A -> + __0 : cupicef.Term (cupicef.type s3) A -> + cupicef.Univ (cupicef.type s4)) => + NA : + cupicef.Term (cupicef.type s11) + (Normalizes s3 s10 s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 + cstr_19 A R + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_)) => + B : cupicef.Univ (cupicef.type s5) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type s5) B -> + __0 : cupicef.Term (cupicef.type s5) B -> + cupicef.Univ (cupicef.type s6)) => + NB : + cupicef.Term (cupicef.type s17) + (Normalizes s5 s16 s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 + cstr_29 B R_27_ + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_)) => + cupicef.cast (cupicef.type s21) (cupicef.type s21) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 s21 s8 + cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 cstr_26 + A B R R_27_) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_))) + (Normalizes s2 s23 s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 cstr_26 + A B R R_27_) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) cupicef.I + A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_))) + cupicef.I + ((lemma : + cupicef.Term (cupicef.type s11) + (Coq__Classes__CRelationClasses.relation__equivalence s3 s10 s11 + s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 cstr_19 A R + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_)) => + trans__co__eq__inv__arrow__morphism s23 s18 s19 s20 s9 s9 s21 s21 + cstr_9 cstr_9 cstr_54 cstr_55 cstr_57 cstr_58 cstr_48 cstr_37 + cstr_50 cupicef.I cstr_52 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 s21 s8 + cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B)))) + (Coq__Classes__CRelationClasses.Equivalence__Transitive s23 s21 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 s21 + s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B)))) + (Coq__Classes__CRelationClasses.relation__equivalence__equivalence + s2 s23 s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R R_27_) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + R_27_) + (respectful__morphism s14 s15 s10 s11 s12 s13 s3 s4 s16 s17 s23 s21 + s5 s6 s2 s8 cstr_1 cstr_3 cstr_8 cstr_38 cstr_39 cstr_41 cstr_42 + cstr_44 cstr_14 cstr_15 cstr_12 cstr_13 cstr_17 cstr_16 cstr_18 + cstr_19 cstr_21 cstr_22 cstr_45 cstr_46 cstr_47 cstr_53 cstr_49 + cstr_24 cstr_25 cstr_23 cstr_27 cstr_26 cstr_28 cstr_29 cstr_31 + cstr_32 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 A B R + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + lemma R_27_ R_27_ + (reflexive__proper__proxy s16 s17 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.axiom (cupicef.type s16)) + (cupicef.univ + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I) + (cupicef.univ (cupicef.type s16) + (cupicef.axiom (cupicef.type s16)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s16))) + cstr_24 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s16))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s5 s6 B)) + (Coq__Classes__CRelationClasses.relation__equivalence s5 s16 + s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 cstr_29 B) + (Coq__Classes__CRelationClasses.Equivalence__Reflexive s16 s17 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.axiom (cupicef.type s16)) + (cupicef.univ + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I) + (cupicef.univ (cupicef.type s16) + (cupicef.axiom (cupicef.type s16)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s16))) + cstr_24 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s16))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s5 s6 B)) + (Coq__Classes__CRelationClasses.relation__equivalence s5 + s16 s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 + cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence__equivalence + s5 s16 s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 + cstr_29 cstr_30 B)) + R_27_)) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_)) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_)) + (eq__proper__proxy s23 s20 cstr_57 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_)))) + NA + ((lemma : + cupicef.Term (cupicef.type s17) + (Coq__Classes__CRelationClasses.relation__equivalence s5 s16 + s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 cstr_29 B + R_27_ + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_)) => + trans__co__eq__inv__arrow__morphism s23 s18 s22 s24 s9 s9 s21 s21 + cstr_9 cstr_9 cstr_54 cstr_56 cstr_57 cstr_58 cstr_59 cstr_37 + cstr_51 cupicef.I cstr_52 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 s21 + s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B)))) + (Coq__Classes__CRelationClasses.Equivalence__Transitive s23 s21 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 + s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B)))) + (Coq__Classes__CRelationClasses.relation__equivalence__equivalence + s2 s23 s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 + cstr_35 cstr_36 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + R_27_) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_)) + (Reflexive__partial__app__morphism s10 s12 s25 s15 s11 s13 + cstr_40 cstr_39 cstr_43 cstr_41 cstr_44 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s10))) + cstr_14 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s10))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s3 s4 A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.sup (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s8)))))) + (cupicef.axiom (cupicef.type s12)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.sup (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s8))))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s5) + (cupicef.sup (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.type s8)))))) + cupicef.I) + (cupicef.univ (cupicef.type s12) + (cupicef.axiom (cupicef.type s12)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s12))) + (cupicef.trans (cupicef.type s5) + (cupicef.SortSome (cupicef.type s2)) cstr_23 + (cupicef.SortSome (cupicef.type s23)) cstr_11 + (cupicef.SortSome (cupicef.type s12)) cstr_53 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s12))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s23)) cstr_11 + (cupicef.SortSome (cupicef.type s12)) cstr_53 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s12))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s12))) + (cupicef.trans (cupicef.axiom (cupicef.type s6)) + (cupicef.SortSome (cupicef.type s16)) cstr_3 + (cupicef.SortSome (cupicef.type s12)) cstr_45 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.rule + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I + (Coq__Classes__CRelationClasses.crelation s5 s6 B) + (R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 B) => + Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B)))))) + (Coq__Classes__CRelationClasses.relation__equivalence s3 s10 + s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 cstr_19 A) + (respectful s16 s17 s23 s21 s12 s13 cstr_45 cstr_46 cstr_47 + cstr_53 cstr_49 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + (cupicef.axiom (cupicef.type s16)) + (cupicef.univ + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom + (cupicef.sup (cupicef.type s5) + (cupicef.axiom (cupicef.type s6)))) + cupicef.I) + (cupicef.univ (cupicef.type s16) + (cupicef.axiom (cupicef.type s16)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s16))) + cstr_24 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type s16))) + cstr_3 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s5 s6 B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) + (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.relation__equivalence s5 + s16 s17 s6 cstr_3 cstr_24 cstr_25 cstr_27 cstr_28 + cstr_29 B) + (Coq__Classes__CRelationClasses.relation__equivalence s2 + s23 s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 + cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B) + (respectful__morphism s25 s15 s10 s11 s12 s13 s3 s4 s16 s17 + s23 s21 s5 s6 s2 s8 cstr_1 cstr_3 cstr_8 cstr_40 cstr_39 + cstr_41 cstr_43 cstr_44 cstr_14 cstr_15 cstr_12 cstr_13 + cstr_17 cstr_16 cstr_18 cstr_19 cstr_21 cstr_22 cstr_45 + cstr_46 cstr_47 cstr_53 cstr_49 cstr_24 cstr_25 cstr_23 + cstr_27 cstr_26 cstr_28 cstr_29 cstr_31 cstr_32 cstr_11 + cstr_10 cstr_33 cstr_34 cstr_35 A B) + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + (reflexive__proper__proxy s10 s11 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s10))) + cstr_14 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s10))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s3 s4 A)) + (Coq__Classes__CRelationClasses.relation__equivalence s3 + s10 s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 + cstr_19 A) + (Coq__Classes__CRelationClasses.Equivalence__Reflexive s10 + s11 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s10))) + cstr_14 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s4)) + (cupicef.type s10))) + cstr_1 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s3 s4 A)) + (Coq__Classes__CRelationClasses.relation__equivalence s3 + s10 s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 + cstr_19 A) + (Coq__Classes__CRelationClasses.relation__equivalence__equivalence + s3 s10 s11 s4 cstr_1 cstr_14 cstr_15 cstr_17 cstr_18 + cstr_19 cstr_20 A)) + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_)) + R_27_ + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_) + lemma) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_)) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 cstr_23 + cstr_26 A B R_27__27__27_ R_27__27_)) + (eq__proper__proxy s23 s24 cstr_57 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s23)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s23) + (cupicef.axiom (cupicef.type s23)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s23))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s23))) + cstr_8 cupicef.BoolNone) + (Coq__Classes__CRelationClasses.crelation s2 s8 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))))) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B R_27__27__27_ R_27__27_)))) + NB + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.type s8))) + (cupicef.type s21) + (cupicef.prod + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.type s8)) + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.type s8))) + cupicef.I + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A (__ : cupicef.Term (cupicef.type s3) A => B)) + (x : + (__ : cupicef.Term (cupicef.type s3) A -> + cupicef.Term (cupicef.type s5) B) => + cupicef.prod + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.type s8) + (cupicef.rule + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + (cupicef.type s8)) + cupicef.I + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B)) + (y : + (__ : cupicef.Term (cupicef.type s3) A -> + cupicef.Term (cupicef.type s5) B) => + Coq__Init__Datatypes.prod (cupicef.type s8) + (cupicef.type s8) + (cupicef.prod (cupicef.type s8) (cupicef.type s8) + (cupicef.rule (cupicef.type s8) (cupicef.type s8)) + cupicef.I + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B + B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y) + (__ : + cupicef.Term (cupicef.type s8) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 + s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 + s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y) => + Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) + cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y)) + (cupicef.prod (cupicef.type s8) (cupicef.type s8) + (cupicef.rule (cupicef.type s8) (cupicef.type s8)) + cupicef.I + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) + cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y) + (__ : + cupicef.Term (cupicef.type s8) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : + cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : + cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) + cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 + cstr_13 cstr_16 cstr_23 cstr_26 A B + R_27__27__27_ R_27__27_) + x y) => + respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B + B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y))))) + (Coq__Classes__CRelationClasses.relation__equivalence s2 s23 + s21 s8 cstr_8 cstr_11 cstr_10 cstr_33 cstr_34 cstr_35 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_)) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B R_27__27__27_ R_27__27_))) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type s3) A -> + cupicef.Term (cupicef.type s5) B) => + y : + (__ : cupicef.Term (cupicef.type s3) A -> + cupicef.Term (cupicef.type s5) B) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_34 + (cupicef.prod (cupicef.type s8) (cupicef.type s8) + (cupicef.rule (cupicef.type s8) (cupicef.type s8)) + cupicef.I + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y) + (__ : + cupicef.Term (cupicef.type s8) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 + A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 + B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y) => + Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_35 + (cupicef.prod (cupicef.type s8) (cupicef.type s8) + (cupicef.rule (cupicef.type s8) (cupicef.type s8)) + cupicef.I + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y) + (__ : + cupicef.Term (cupicef.type s8) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) + (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ + (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) + cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y) => + respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_) + x y))) + (X : + cupicef.Term (cupicef.type s8) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_) + x y) => + cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6)))) + (cupicef.type s8) + (cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6))) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s3) A => + cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6)) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s3) A => + cupicef.prod (cupicef.type s4) (cupicef.type s6) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6)) + cupicef.I (R_27__27__27_ x0 y0) + (X0 : + cupicef.Term (cupicef.type s4) + (R_27__27__27_ x0 y0) => + Coq__Classes__CRelationClasses.flip s5 s5 s1 B + B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_ (x y0) (y x0))))) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B R_27__27__27_ R_27__27_) + x y) + cupicef.I + (x0 : cupicef.Term (cupicef.type s3) A => + y0 : cupicef.Term (cupicef.type s3) A => + X0 : + cupicef.Term (cupicef.type s4) (R_27__27__27_ x0 y0) => + (X1 : + (y1 : cupicef.Term (cupicef.type s3) A -> + __ : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_ y0 y1) -> + cupicef.Term (cupicef.type s6) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_ (x y0) (y y1))) => + (X2 : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_ y0 x0) -> + cupicef.Term (cupicef.type s6) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_ (x y0) (y x0))) => + (X3 : + cupicef.Term (cupicef.type s6) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) + cupicef.I)) + R_27__27_ (x y0) (y x0)) => + X3) (X2 X0)) (X1 x0)) + (X y0))) + (X : + cupicef.Term (cupicef.type s8) + (Coq__Classes__CRelationClasses.flip s2 s2 s7 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type s3) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type s3) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type s2))) + cstr_23 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) + (cupicef.type s2))) + cstr_12 cupicef.BoolNone) + (cupicef.prod (cupicef.type s3) (cupicef.type s5) + (cupicef.rule (cupicef.type s3) + (cupicef.type s5)) + cupicef.I A + (__ : cupicef.Term (cupicef.type s3) A => B))) + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s7)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + cstr_4 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 + cstr_16 cstr_23 cstr_26 A B R_27__27__27_ + R_27__27_) + x y) => + cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6)))) + (cupicef.type s8) + (cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6))) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s3) A => + cupicef.prod (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s6)) + (cupicef.rule (cupicef.type s3) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s3) A => + cupicef.prod (cupicef.type s4) (cupicef.type s6) + (cupicef.rule (cupicef.type s4) + (cupicef.type s6)) + cupicef.I + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_ x0 y0) + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.flip s3 s3 + s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R_27__27__27_ x0 y0) => + R_27__27_ (y y0) (x x0))))) + (respectful s3 s4 s5 s6 s2 s8 cstr_12 cstr_13 cstr_16 + cstr_23 cstr_26 A B + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_) + (Coq__Classes__CRelationClasses.flip s5 s5 s1 B B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s6))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s6)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s6))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I)) + R_27__27_) + x y) + cupicef.I + (x0 : cupicef.Term (cupicef.type s3) A => + y0 : cupicef.Term (cupicef.type s3) A => + X0 : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.flip s3 s3 s0 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R_27__27__27_ x0 y0) => + (X1 : + (y1 : cupicef.Term (cupicef.type s3) A -> + __ : + cupicef.Term (cupicef.type s4) + (R_27__27__27_ y0 y1) -> + cupicef.Term (cupicef.type s6) + (R_27__27_ (y y0) (x y1))) => + (X2 : + (__ : + cupicef.Term (cupicef.type s4) + (R_27__27__27_ y0 x0) -> + cupicef.Term (cupicef.type s6) + (R_27__27_ (y y0) (x x0))) => + (X3 : + cupicef.Term (cupicef.type s6) + (R_27__27_ (y y0) (x x0)) => + X3) (X2 X0)) (X1 x0)) + (X y0))))))). + +thm proper__sym__flip : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s6)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s4) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s4) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s4 s5 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s4) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Symmetric s4 s5 A R1) -> + B : cupicef.Univ (cupicef.type s2) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) -> + f : + (__ : cupicef.Term (cupicef.type s4) A -> + cupicef.Term (cupicef.type s2) B) -> + H0 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.type s2) + (cupicef.rule (cupicef.type s4) (cupicef.type s2)) cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => B))) + (respectful s4 s5 s2 s3 s0 s1 cstr_3 cstr_4 cstr_5 cstr_1 cstr_2 A B + R1 R2) + f) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s4)) + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.type s2) + (cupicef.rule (cupicef.type s4) (cupicef.type s2)) cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => B))) + (respectful s4 s5 s2 s3 s0 s1 cstr_3 cstr_4 cstr_5 cstr_1 cstr_2 A B + R1 + (Coq__Classes__CRelationClasses.flip s2 s2 s6 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s6)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R2)) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s6)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s4) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s4) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s4 s5 A) => + Sym : + cupicef.Term (cupicef.sup (cupicef.type s4) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Symmetric s4 s5 A R1) => + B : cupicef.Univ (cupicef.type s2) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s3))) + (Coq__Classes__CRelationClasses.crelation s2 s3 B) => + f : + (__ : cupicef.Term (cupicef.type s4) A -> + cupicef.Term (cupicef.type s2) B) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.type s2) + (cupicef.rule (cupicef.type s4) (cupicef.type s2)) cupicef.I + A (__ : cupicef.Term (cupicef.type s4) A => B))) + (respectful s4 s5 s2 s3 s0 s1 cstr_3 cstr_4 cstr_5 cstr_1 cstr_2 A + B R1 R2) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)))) + (cupicef.type s1) + (cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3))) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s4) A => + cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s4) A => + cupicef.prod (cupicef.type s5) (cupicef.type s3) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)) cupicef.I + (R1 x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s5) (R1 x x_27_) => + R2 (f x_27_) (f x))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.type s2) + (cupicef.rule (cupicef.type s4) (cupicef.type s2)) cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => B))) + (respectful s4 s5 s2 s3 s0 s1 cstr_3 cstr_4 cstr_5 cstr_1 cstr_2 A B + R1 + (Coq__Classes__CRelationClasses.flip s2 s2 s6 B B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s6)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s6) + (cupicef.axiom (cupicef.type s6)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R2)) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s4) A => + x_27_ : cupicef.Term (cupicef.type s4) A => + Hxx_27_ : cupicef.Term (cupicef.type s5) (R1 x x_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_)). + +thm proper__sym__flip__2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s10)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s0)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s6) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Symmetric s6 s7 A R1) -> + B : cupicef.Univ (cupicef.type s8) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type s8) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s8 s9 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s8) (cupicef.type s9)) + (Coq__Classes__CRelationClasses.Symmetric s8 s9 B R2) -> + C : cupicef.Univ (cupicef.type s2) -> + R3 : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s2 s5 C) -> + f : + (__ : cupicef.Term (cupicef.type s6) A -> + __0 : cupicef.Term (cupicef.type s8) B -> + cupicef.Term (cupicef.type s2) C) -> + H1 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s3)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_2 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_2 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s8) B => C)))) + (respectful s6 s7 s3 s4 s0 s1 cstr_5 cstr_6 cstr_7 cstr_2 cstr_3 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s3))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s8) B => C))) + R1 + (respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 cstr_4 + B C R2 R3)) + f) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s3)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) cupicef.I + B (__0 : cupicef.Term (cupicef.type s8) B => C)))) + (respectful s6 s7 s3 s4 s0 s1 cstr_5 cstr_6 cstr_7 cstr_2 cstr_3 A + (cupicef.cast + (cupicef.axiom (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s3))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) cupicef.I + B (__ : cupicef.Term (cupicef.type s8) B => C))) + R1 + (respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 cstr_4 B + C R2 + (Coq__Classes__CRelationClasses.flip s2 s2 s10 C C + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R3))) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s10)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s0)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s4)) => + A : cupicef.Univ (cupicef.type s6) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + Sym1 : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Symmetric s6 s7 A R1) => + B : cupicef.Univ (cupicef.type s8) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type s8) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s8 s9 B) => + Sym2 : + cupicef.Term (cupicef.sup (cupicef.type s8) (cupicef.type s9)) + (Coq__Classes__CRelationClasses.Symmetric s8 s9 B R2) => + C : cupicef.Univ (cupicef.type s2) => + R3 : + cupicef.Term + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s2 s5 C) => + f : + (__ : cupicef.Term (cupicef.type s6) A -> + __0 : cupicef.Term (cupicef.type s8) B -> + cupicef.Term (cupicef.type s2) C) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s3)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_2 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_2 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + cupicef.I B (__0 : cupicef.Term (cupicef.type s8) B => C)))) + (respectful s6 s7 s3 s4 s0 s1 cstr_5 cstr_6 cstr_7 cstr_2 cstr_3 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s3))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + cupicef.I B (__ : cupicef.Term (cupicef.type s8) B => C))) + R1 + (respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 + cstr_4 B C R2 R3)) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s4)))) + (cupicef.type s1) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s4))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s4)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s4)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s4))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) (cupicef.type s4) + (cupicef.rule (cupicef.type s7) (cupicef.type s4)) cupicef.I + (R1 x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s7) (R1 x x_27_) => + respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 + cstr_4 B C R2 + (Coq__Classes__CRelationClasses.flip s2 s2 s10 C C + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R3) + (f x) (f x_27_))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s3)) cstr_8 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s0))) + (cupicef.trans (cupicef.type s2) + (cupicef.SortSome (cupicef.type s3)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_2 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) cupicef.I + B (__0 : cupicef.Term (cupicef.type s8) B => C)))) + (respectful s6 s7 s3 s4 s0 s1 cstr_5 cstr_6 cstr_7 cstr_2 cstr_3 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.sup (cupicef.type s2) (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s3))) + cstr_8 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) (cupicef.type s2) + (cupicef.rule (cupicef.type s8) (cupicef.type s2)) cupicef.I + B (__ : cupicef.Term (cupicef.type s8) B => C))) + R1 + (respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 cstr_4 + B C R2 + (Coq__Classes__CRelationClasses.flip s2 s2 s10 C C + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R3))) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s6) A => + x_27_ : cupicef.Term (cupicef.type s6) A => + Hxx_27_ : cupicef.Term (cupicef.type s7) (R1 x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)))) + (cupicef.type s4) + (cupicef.prod (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5))) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)))) + cupicef.I B + (y : cupicef.Term (cupicef.type s8) B => + cupicef.prod (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5))) + cupicef.I B + (y_27_ : cupicef.Term (cupicef.type s8) B => + cupicef.prod (cupicef.type s9) (cupicef.type s5) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)) cupicef.I + (R2 y y_27_) + (Hyy_27_ : cupicef.Term (cupicef.type s9) (R2 y y_27_) => + R3 (f x_27_ y_27_) (f x y))))) + (respectful s8 s9 s2 s5 s3 s4 cstr_8 cstr_9 cstr_10 cstr_1 cstr_4 B C + R2 + (Coq__Classes__CRelationClasses.flip s2 s2 s10 C C + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s10)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s10) + (cupicef.axiom (cupicef.type s10)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R3) + (f x) (f x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type s8) B => + y_27_ : cupicef.Term (cupicef.type s8) B => + Hyy_27_ : cupicef.Term (cupicef.type s9) (R2 y y_27_) => + Hf x_27_ x (Sym1 x x_27_ Hxx_27_) y_27_ y (Sym2 y y_27_ Hyy_27_))). + +thm proper__sym__impl__iff : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s5) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s5) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Symmetric s5 s6 A R) -> + f : (__ : cupicef.Term (cupicef.type s5) A -> cupicef.Univ cupicef.prop) -> + H0 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (respectful s5 s6 s2 s3 s0 s1 cstr_3 cstr_4 cstr_6 cstr_1 cstr_2 A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s2 s3 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + f) -> + cupicef.Term (cupicef.type s4) + (Proper s0 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful s5 s6 s2 s7 s0 s4 cstr_3 cstr_5 cstr_7 cstr_1 cstr_8 A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s2) (cupicef.axiom (cupicef.type s7))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s2 s7 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s4)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) => + A : cupicef.Univ (cupicef.type s5) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s5) (cupicef.axiom (cupicef.type s6))) + (Coq__Classes__CRelationClasses.crelation s5 s6 A) => + Sym : + cupicef.Term (cupicef.sup (cupicef.type s5) (cupicef.type s6)) + (Coq__Classes__CRelationClasses.Symmetric s5 s6 A R) => + f : (__ : cupicef.Term (cupicef.type s5) A -> cupicef.Univ cupicef.prop) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (respectful s5 s6 s2 s3 s0 s1 cstr_3 cstr_4 cstr_6 cstr_1 cstr_2 A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s3))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s2 s3 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s6) cupicef.prop))) + (cupicef.type s4) + (cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s6) cupicef.prop)) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s6) cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s5) + (cupicef.rule (cupicef.type s6) cupicef.prop) + (cupicef.rule (cupicef.type s5) + (cupicef.rule (cupicef.type s6) cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s5) A => + cupicef.prod (cupicef.type s6) cupicef.prop + (cupicef.rule (cupicef.type s6) cupicef.prop) cupicef.I + (R x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s6) (R x x_27_) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + f x) (__ : cupicef.Term cupicef.prop (f x) => f x_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_) + (__ : cupicef.Term cupicef.prop (f x_27_) => f x)))))) + (Proper s0 s4 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) (cupicef.type s0))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s5) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful s5 s6 s2 s7 s0 s4 cstr_3 cstr_5 cstr_7 cstr_1 cstr_8 A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s2) + (cupicef.axiom (cupicef.type s7))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s2 s7 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s5) A => + x_27_ : cupicef.Term (cupicef.type s5) A => + Hxx_27_ : cupicef.Term (cupicef.type s6) (R x x_27_) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x) + (__ : cupicef.Term cupicef.prop (f x) => f x_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x_27_) + (__ : cupicef.Term cupicef.prop (f x_27_) => f x)) + (H : cupicef.Term cupicef.prop (f x) => Hf x x_27_ Hxx_27_ H) + (H : cupicef.Term cupicef.prop (f x_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) H)). + +thm proper__sym__arrow__iffT : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s4) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s4) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s4 s5 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s4) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Symmetric s4 s5 A R) -> + f : + (__ : cupicef.Term (cupicef.type s4) A -> cupicef.Univ (cupicef.type s3)) -> + H0 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s3)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + (respectful s4 s5 s2 s3 s0 s1 cstr_5 cstr_6 cstr_7 cstr_1 cstr_2 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s3 s3)) + f) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s3)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + (respectful s4 s5 s2 s3 s0 s1 cstr_5 cstr_6 cstr_7 cstr_1 cstr_2 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s3 s3 cstr_3 cstr_4 cstr_3 + cstr_4)) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s0)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s4) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s4) (cupicef.axiom (cupicef.type s5))) + (Coq__Classes__CRelationClasses.crelation s4 s5 A) => + Sym : + cupicef.Term (cupicef.sup (cupicef.type s4) (cupicef.type s5)) + (Coq__Classes__CRelationClasses.Symmetric s4 s5 A R) => + f : + (__ : cupicef.Term (cupicef.type s4) A -> cupicef.Univ (cupicef.type s3)) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s3)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + (respectful s4 s5 s2 s3 s0 s1 cstr_5 cstr_6 cstr_7 cstr_1 cstr_2 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R (Coq__Classes__CRelationClasses.arrow s3 s3)) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)))) + (cupicef.type s1) + (cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3))) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s4) A => + cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s5) (cupicef.type s3))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s4) A => + cupicef.prod (cupicef.type s5) (cupicef.type s3) + (cupicef.rule (cupicef.type s5) (cupicef.type s3)) cupicef.I + (R x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s5) (R x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (f x) + (__ : cupicef.Term (cupicef.type s3) (f x) => f x_27_)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (f x_27_) + (__ : cupicef.Term (cupicef.type s3) (f x_27_) => f x)))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s3)) + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s4) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s3)) + (cupicef.SortSome (cupicef.type s2)) cstr_0 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s4) (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s3))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s4) A => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I))) + (respectful s4 s5 s2 s3 s0 s1 cstr_5 cstr_6 cstr_7 cstr_1 cstr_2 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R + (Coq__Classes__CRelationClasses.iffT s3 s3 cstr_3 cstr_4 cstr_3 + cstr_4)) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s4) A => + x_27_ : cupicef.Term (cupicef.type s4) A => + Hxx_27_ : cupicef.Term (cupicef.type s5) (R x x_27_) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_3 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (f x) (__ : cupicef.Term (cupicef.type s3) (f x) => f x_27_))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (f x_27_) + (__ : cupicef.Term (cupicef.type s3) (f x_27_) => f x))) + (X : cupicef.Term (cupicef.type s3) (f x) => Hf x x_27_ Hxx_27_ X) + (X : cupicef.Term (cupicef.type s3) (f x_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) X)). + +thm proper__sym__impl__iff__2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + s10 : cupicef.Nat -> + s11 : cupicef.Nat -> + s12 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s4)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s0)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s1)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s6)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s2)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s3)) -> + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s9)) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s3)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s9)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s9)) -> + A : cupicef.Univ (cupicef.type s7) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s7) (cupicef.type s8)) + (Coq__Classes__CRelationClasses.Symmetric s7 s8 A R) -> + B : cupicef.Univ (cupicef.type s10) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s10) (cupicef.axiom (cupicef.type s11))) + (Coq__Classes__CRelationClasses.crelation s10 s11 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s10) (cupicef.type s11)) + (Coq__Classes__CRelationClasses.Symmetric s10 s11 B R_27_) -> + f : + (__ : cupicef.Term (cupicef.type s7) A -> + __0 : cupicef.Term (cupicef.type s10) B -> + cupicef.Univ cupicef.prop) -> + H1 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s0))) + (cupicef.trans (cupicef.type s10) + (cupicef.SortSome (cupicef.type s2)) cstr_11 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful s7 s8 s2 s3 s0 s1 cstr_5 cstr_6 cstr_8 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s2))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s2))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful s10 s11 s4 s5 s2 s3 cstr_11 cstr_12 cstr_14 cstr_3 + cstr_4 B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s5 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl))) + f) -> + cupicef.Term (cupicef.type s6) + (Proper s0 s6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s0))) + (cupicef.trans (cupicef.type s10) + (cupicef.SortSome (cupicef.type s2)) cstr_11 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful s7 s8 s2 s9 s0 s6 cstr_5 cstr_7 cstr_9 cstr_1 cstr_10 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s2))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s2))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful s10 s11 s4 s12 s2 s9 cstr_11 cstr_13 cstr_15 cstr_3 + cstr_16 B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s12))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s12 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff))) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + s10 : cupicef.Nat => + s11 : cupicef.Nat => + s12 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s4)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s0)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s6)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s1)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s6)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s6)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s2)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s3)) => + cstr_13 : cupicef.eps (cupicef.Cumul (cupicef.type s10) (cupicef.type s9)) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s3)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s11) (cupicef.type s9)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s12) (cupicef.type s9)) => + A : cupicef.Univ (cupicef.type s7) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) => + Sym : + cupicef.Term (cupicef.sup (cupicef.type s7) (cupicef.type s8)) + (Coq__Classes__CRelationClasses.Symmetric s7 s8 A R) => + B : cupicef.Univ (cupicef.type s10) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s10) (cupicef.axiom (cupicef.type s11))) + (Coq__Classes__CRelationClasses.crelation s10 s11 B) => + Sym_27_ : + cupicef.Term (cupicef.sup (cupicef.type s10) (cupicef.type s11)) + (Coq__Classes__CRelationClasses.Symmetric s10 s11 B R_27_) => + f : + (__ : cupicef.Term (cupicef.type s7) A -> + __0 : cupicef.Term (cupicef.type s10) B -> + cupicef.Univ cupicef.prop) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s0))) + (cupicef.trans (cupicef.type s10) + (cupicef.SortSome (cupicef.type s2)) cstr_11 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful s7 s8 s2 s3 s0 s1 cstr_5 cstr_6 cstr_8 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s2))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s2))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful s10 s11 s4 s5 s2 s3 cstr_11 cstr_12 cstr_14 cstr_3 + cstr_4 B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s5))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s5 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl))) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s8) (cupicef.type s9)))) + (cupicef.type s6) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s8) (cupicef.type s9))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s8) (cupicef.type s9)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s8) (cupicef.type s9)) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s8) (cupicef.type s9))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s8) (cupicef.type s9) + (cupicef.rule (cupicef.type s8) (cupicef.type s9)) cupicef.I + (R x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s8) (R x x_27_) => + respectful s10 s11 s4 s12 s2 s9 cstr_11 cstr_13 cstr_15 cstr_3 + cstr_16 B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s12))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s12 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (f x) (f x_27_))))) + (Proper s0 s6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type s7) (cupicef.type s10)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s0))) + (cupicef.trans (cupicef.type s10) + (cupicef.SortSome (cupicef.type s2)) cstr_11 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s0))) + cstr_5 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful s7 s8 s2 s9 s0 s6 cstr_5 cstr_7 cstr_9 cstr_1 cstr_10 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10)) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type s10))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s10) (cupicef.type s2))) + cstr_11 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom cupicef.set) + (cupicef.type s2))) + (cupicef.trans (cupicef.type (cupicef.s cupicef.z)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s10) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s10) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful s10 s11 s4 s12 s2 s9 cstr_11 cstr_13 cstr_15 cstr_3 + cstr_16 B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s12))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s12 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff))) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s7) A => + x_27_ : cupicef.Term (cupicef.type s7) A => + Hxx_27_ : cupicef.Term (cupicef.type s8) (R x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s11) cupicef.prop))) + (cupicef.type s9) + (cupicef.prod (cupicef.type s10) + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s11) cupicef.prop)) + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s11) cupicef.prop))) + cupicef.I B + (y : cupicef.Term (cupicef.type s10) B => + cupicef.prod (cupicef.type s10) + (cupicef.rule (cupicef.type s11) cupicef.prop) + (cupicef.rule (cupicef.type s10) + (cupicef.rule (cupicef.type s11) cupicef.prop)) + cupicef.I B + (y_27_ : cupicef.Term (cupicef.type s10) B => + cupicef.prod (cupicef.type s11) cupicef.prop + (cupicef.rule (cupicef.type s11) cupicef.prop) cupicef.I + (R_27_ y y_27_) + (Hyy_27_ : cupicef.Term (cupicef.type s11) (R_27_ y y_27_) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x y) + (__ : cupicef.Term cupicef.prop (f x y) => + f x_27_ y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_ y_27_) + (__ : cupicef.Term cupicef.prop (f x_27_ y_27_) => + f x y)))))) + (respectful s10 s11 s4 s12 s2 s9 cstr_11 cstr_13 cstr_15 cstr_3 + cstr_16 B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27_ + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s4) + (cupicef.axiom (cupicef.type s12))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (A0 : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__CRelationClasses.crelation s4 s12 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (f x) (f x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type s10) B => + y_27_ : cupicef.Term (cupicef.type s10) B => + Hyy_27_ : cupicef.Term (cupicef.type s11) (R_27_ y y_27_) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x y) + (__ : cupicef.Term cupicef.prop (f x y) => f x_27_ y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_ y_27_) + (__ : cupicef.Term cupicef.prop (f x_27_ y_27_) => f x y)) + (H : cupicef.Term cupicef.prop (f x y) => + Hf x x_27_ Hxx_27_ y y_27_ Hyy_27_ H) + (H : cupicef.Term cupicef.prop (f x_27_ y_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) y_27_ y + (Sym_27_ y y_27_ Hyy_27_) H))). + +thm proper__sym__arrow__iffT__2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + s9 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s0)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s2)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s6) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Symmetric s6 s7 A R) -> + B : cupicef.Univ (cupicef.type s8) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s8) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s8 s9 B) -> + H0 : + cupicef.Term (cupicef.sup (cupicef.type s8) (cupicef.type s9)) + (Coq__Classes__CRelationClasses.Symmetric s8 s9 B R_27_) -> + f : + (__ : cupicef.Term (cupicef.type s6) A -> + __0 : cupicef.Term (cupicef.type s8) B -> + cupicef.Univ (cupicef.type s5)) -> + H1 : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s2)) cstr_10 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)))) + (respectful s6 s7 s2 s3 s0 s1 cstr_7 cstr_8 cstr_9 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s2))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s2))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + R + (respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 + cstr_4 B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ (Coq__Classes__CRelationClasses.arrow s5 s5))) + f) -> + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s2)) cstr_10 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)))) + (respectful s6 s7 s2 s3 s0 s1 cstr_7 cstr_8 cstr_9 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s2))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s2))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + R + (respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 cstr_4 + B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ + (Coq__Classes__CRelationClasses.iffT s5 s5 cstr_5 cstr_6 cstr_5 + cstr_6))) + f) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + s9 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s4)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s3)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s0)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s1)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s2)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s3)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s9) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s6) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + Sym : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Symmetric s6 s7 A R) => + B : cupicef.Univ (cupicef.type s8) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s8) (cupicef.axiom (cupicef.type s9))) + (Coq__Classes__CRelationClasses.crelation s8 s9 B) => + Sym_27_ : + cupicef.Term (cupicef.sup (cupicef.type s8) (cupicef.type s9)) + (Coq__Classes__CRelationClasses.Symmetric s8 s9 B R_27_) => + f : + (__ : cupicef.Term (cupicef.type s6) A -> + __0 : cupicef.Term (cupicef.type s8) B -> + cupicef.Univ (cupicef.type s5)) => + Hf : + cupicef.Term (cupicef.type s1) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s2)) cstr_10 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)))) + (respectful s6 s7 s2 s3 s0 s1 cstr_7 cstr_8 cstr_9 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s2))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s2))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + R + (respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 + cstr_4 B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ (Coq__Classes__CRelationClasses.arrow s5 s5))) + f) => + cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s3)))) + (cupicef.type s1) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s3))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s3)) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) (cupicef.type s3))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) (cupicef.type s3) + (cupicef.rule (cupicef.type s7) (cupicef.type s3)) cupicef.I + (R x x_27_) + (Hxx_27_ : cupicef.Term (cupicef.type s7) (R x x_27_) => + respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 + cstr_4 B + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ + (Coq__Classes__CRelationClasses.iffT s5 s5 cstr_5 cstr_6 + cstr_5 cstr_6) + (f x) (f x_27_))))) + (Proper s0 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.sup (cupicef.type s6) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s0))) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s2)) cstr_10 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) (cupicef.type s0))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + (cupicef.SortSome (cupicef.type s0)) cstr_1 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)))) + (respectful s6 s7 s2 s3 s0 s1 cstr_7 cstr_8 cstr_9 cstr_1 cstr_2 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s5)) + (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) (cupicef.type s2))) + cstr_10 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type s2))) + (cupicef.trans (cupicef.axiom (cupicef.type s5)) + (cupicef.SortSome (cupicef.type s4)) cstr_0 + (cupicef.SortSome (cupicef.type s2)) cstr_3 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s8) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.axiom (cupicef.type s5))) + cupicef.I B + (__ : cupicef.Term (cupicef.type s8) B => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I))) + R + (respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 + cstr_4 B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ + (Coq__Classes__CRelationClasses.iffT s5 s5 cstr_5 cstr_6 cstr_5 + cstr_6))) + f) + cupicef.I + (x : cupicef.Term (cupicef.type s6) A => + x_27_ : cupicef.Term (cupicef.type s6) A => + Hxx_27_ : cupicef.Term (cupicef.type s7) (R x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)))) + (cupicef.type s3) + (cupicef.prod (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5))) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)))) + cupicef.I B + (y : cupicef.Term (cupicef.type s8) B => + cupicef.prod (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)) + (cupicef.rule (cupicef.type s8) + (cupicef.rule (cupicef.type s9) (cupicef.type s5))) + cupicef.I B + (y_27_ : cupicef.Term (cupicef.type s8) B => + cupicef.prod (cupicef.type s9) (cupicef.type s5) + (cupicef.rule (cupicef.type s9) (cupicef.type s5)) cupicef.I + (R_27_ y y_27_) + (Hyy_27_ : cupicef.Term (cupicef.type s9) (R_27_ y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s5) + (cupicef.type s5) + (cupicef.prod (cupicef.type s5) (cupicef.type s5) + (cupicef.rule (cupicef.type s5) (cupicef.type s5)) + cupicef.I (f x y) + (__ : cupicef.Term (cupicef.type s5) (f x y) => + f x_27_ y_27_)) + (cupicef.prod (cupicef.type s5) (cupicef.type s5) + (cupicef.rule (cupicef.type s5) (cupicef.type s5)) + cupicef.I (f x_27_ y_27_) + (__ : cupicef.Term (cupicef.type s5) (f x_27_ y_27_) => + f x y)))))) + (respectful s8 s9 s4 s5 s2 s3 cstr_10 cstr_11 cstr_12 cstr_3 cstr_4 B + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + R_27_ + (Coq__Classes__CRelationClasses.iffT s5 s5 cstr_5 cstr_6 cstr_5 + cstr_6) + (f x) (f x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type s8) B => + y_27_ : cupicef.Term (cupicef.type s8) B => + Hyy_27_ : cupicef.Term (cupicef.type s9) (R_27_ y y_27_) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s5) (cupicef.type s5) + (cupicef.rule (cupicef.type s5) (cupicef.type s5)) cupicef.I + (f x y) + (__ : cupicef.Term (cupicef.type s5) (f x y) => + f x_27_ y_27_))) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s5) (cupicef.type s5) + (cupicef.rule (cupicef.type s5) (cupicef.type s5)) cupicef.I + (f x_27_ y_27_) + (__ : cupicef.Term (cupicef.type s5) (f x_27_ y_27_) => + f x y))) + (X : cupicef.Term (cupicef.type s5) (f x y) => + Hf x x_27_ Hxx_27_ y y_27_ Hyy_27_ X) + (X : cupicef.Term (cupicef.type s5) (f x_27_ y_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) y_27_ y + (Sym_27_ y y_27_ Hyy_27_) X))). + +def let__X : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) => + a Hx. + +def let__X0 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) -> + __ : cupicef.Term (cupicef.type s4) (R x x_27_) -> + __0 : cupicef.Term (cupicef.type s4) (R x_27_ x) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) => + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) => + X0 : cupicef.Term (cupicef.type s4) (R x x_27_) => + X1 : cupicef.Term (cupicef.type s4) (R x_27_ x) => + b + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 (R x x_27_)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_7 (R x_27_ x)) + X0 X1). + +def let__X1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) -> + __ : cupicef.Term (cupicef.type s4) (R x_27_ x) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) => + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) => + let__X0 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + cstr_7 cstr_8 cstr_9 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr X a b + a0 b0 a0. + +def let__X3 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R x x_27_) => + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) => + let__X1 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + cstr_7 cstr_8 cstr_9 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr X a b + a0 b0 b0. + +def let__X4 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) => + a Hy. + +def let__X5 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) -> + __ : cupicef.Term (cupicef.type s4) (R y y_27_) -> + __0 : cupicef.Term (cupicef.type s4) (R y_27_ y) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) => + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) => + X0 : cupicef.Term (cupicef.type s4) (R y y_27_) => + X1 : cupicef.Term (cupicef.type s4) (R y_27_ y) => + b + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 (R y y_27_)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_7 (R y_27_ y)) + X0 X1). + +def let__X6 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) -> + __ : cupicef.Term (cupicef.type s4) (R y_27_ y) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) => + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) => + let__X5 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + cstr_7 cstr_8 cstr_9 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr X a b + a0 b0 a0. + +def let__X7 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s1) A -> + x_27_ : cupicef.Term (cupicef.type s1) A -> + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + y : cupicef.Term (cupicef.type s1) A -> + y_27_ : cupicef.Term (cupicef.type s1) A -> + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + Hr : cupicef.Term (cupicef.type s4) (R x y) -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) -> + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) -> + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) -> + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Hr : cupicef.Term (cupicef.type s4) (R x y) => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA y y_27_) + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + a : + (__ : cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) => + a0 : cupicef.Term (cupicef.type s4) (R y y_27_) => + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) => + let__X6 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + cstr_7 cstr_8 cstr_9 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr X a b + a0 b0 b0. + +thm PartialOrder__proper__type : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) -> + A : cupicef.Univ (cupicef.type s1) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) -> + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) -> + cupicef.Term (cupicef.type s3) + (Proper s0 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s0))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s5)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_9 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)))) + (respectful s1 s4 s0 s3 s0 s3 cstr_2 cstr_4 cstr_5 cupicef.I cupicef.I + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s0))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s5)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_9 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + eqA + (respectful s1 s4 s5 s4 s0 s3 cstr_2 cstr_4 cstr_5 cstr_9 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_6 cstr_7 cstr_6 + cstr_7))) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s5)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s0)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s3)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s0)) => + A : cupicef.Univ (cupicef.type s1) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.Equivalence s1 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s4))) + (Coq__Classes__CRelationClasses.crelation s1 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (Coq__Classes__CRelationClasses.PreOrder s1 s4 A R) => + H : + cupicef.Term (cupicef.type s3) + (Coq__Classes__CRelationClasses.PartialOrder s1 s2 s3 s4 s5 cstr_0 + cstr_1 cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 A eqA equ R preo) => + proper__sym__arrow__iffT__2 s0 s3 s0 s3 s5 s4 s1 s4 s1 s4 cstr_1 cupicef.I + cupicef.I cstr_9 cstr_5 cstr_6 cstr_7 cstr_2 cstr_4 cstr_5 cstr_2 cstr_4 + cstr_5 A eqA + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + cupicef.I A + (y : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (X : cupicef.Term (cupicef.type s4) (eqA x y) => eqA y x)))) + (Coq__Classes__CRelationClasses.Symmetric s1 s4 A eqA) cupicef.I + (x : cupicef.Term (cupicef.type s1) A => + y : cupicef.Term (cupicef.type s1) A => + X : cupicef.Term (cupicef.type s4) (eqA x y) => + Coq__Classes__CRelationClasses.symmetry s1 s4 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Symmetric s1 s4 A eqA + equ) + x y X)) + A eqA + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + (cupicef.sup (cupicef.type s1) (cupicef.type s4)) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + cupicef.I A + (y : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (X : cupicef.Term (cupicef.type s4) (eqA x y) => eqA y x)))) + (Coq__Classes__CRelationClasses.Symmetric s1 s4 A eqA) cupicef.I + (x : cupicef.Term (cupicef.type s1) A => + y : cupicef.Term (cupicef.type s1) A => + X : cupicef.Term (cupicef.type s4) (eqA x y) => + Coq__Classes__CRelationClasses.symmetry s1 s4 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Symmetric s1 s4 A eqA + equ) + x y X)) + R + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s3)))) + (cupicef.type s3) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s3))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s3)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s3))) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s4) (cupicef.type s3) + (cupicef.rule (cupicef.type s4) (cupicef.type s3)) cupicef.I + (eqA x x_27_) + (Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + respectful s1 s4 s5 s4 s0 s3 cstr_2 cstr_4 cstr_5 cstr_9 + cstr_5 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + eqA (Coq__Classes__CRelationClasses.arrow s4 s4) ( + R x) (R x_27_))))) + (Proper s0 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s0))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s5)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_9 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)))) + (respectful s1 s4 s0 s3 s0 s3 cstr_2 cstr_4 cstr_5 cupicef.I + cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s1) (cupicef.type s0))) + cstr_2 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type s0))) + (cupicef.trans (cupicef.axiom (cupicef.type s4)) + (cupicef.SortSome (cupicef.type s5)) cstr_1 + (cupicef.SortSome (cupicef.type s0)) cstr_9 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s4))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s1) A => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I))) + eqA + (respectful s1 s4 s5 s4 s0 s3 cstr_2 cstr_4 cstr_5 cstr_9 + cstr_5 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + eqA (Coq__Classes__CRelationClasses.arrow s4 s4))) + R) + cupicef.I + (x : cupicef.Term (cupicef.type s1) A => + x_27_ : cupicef.Term (cupicef.type s1) A => + Hx : cupicef.Term (cupicef.type s4) (eqA x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + (cupicef.type s3) + (cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + cupicef.I A + (y : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + cupicef.I A + (y_27_ : cupicef.Term (cupicef.type s1) A => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + Coq__Classes__CRelationClasses.arrow s4 s4 (R x y) + (R x_27_ y_27_))))) + (respectful s1 s4 s5 s4 s0 s3 cstr_2 cstr_4 cstr_5 cstr_9 cstr_5 A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + eqA (Coq__Classes__CRelationClasses.arrow s4 s4) (R x) + (R x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type s1) A => + y_27_ : cupicef.Term (cupicef.type s1) A => + Hy : cupicef.Term (cupicef.type s4) (eqA y y_27_) => + cupicef.cast (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R x y) + (Hr : cupicef.Term (cupicef.type s4) (R x y) => + R x_27_ y_27_)) + (Coq__Classes__CRelationClasses.arrow s4 s4 (R x y) + (R x_27_ y_27_)) + cupicef.I + (Hr : cupicef.Term (cupicef.type s4) (R x y) => + Coq__Classes__CRelationClasses.transitivity s1 s4 A R + (Coq__Classes__CRelationClasses.PreOrder__Transitive s1 s4 A + R preo) + x_27_ x y_27_ + (cupicef.cast + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + R x_27_ x) X)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + cupicef.I + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_6 + cstr_7 cstr_6 cstr_7 (eqA x x_27_) + (Coq__Classes__CRelationClasses.relation__conjunction + s1 s4 s4 s4 cupicef.I cstr_6 cupicef.I cstr_7 A + R + (Coq__Classes__CRelationClasses.flip s1 s1 s5 A + A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R) + x x_27_)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_6 + cstr_7 cstr_6 cstr_7 (eqA x x_27_) + (Coq__Classes__CRelationClasses.relation__conjunction + s1 s4 s4 s4 cupicef.I cstr_6 cupicef.I + cstr_7 A R + (Coq__Classes__CRelationClasses.flip s1 s1 + s5 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R) + x x_27_)) => + R x_27_ x)) + cupicef.I + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) (eqA x x_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) + (cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) + (p : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_8 + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA x x_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + R x_27_ x)) + (a : + (__ : cupicef.Term (cupicef.type s4) (eqA x x_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) -> + cupicef.Term (cupicef.type s4) (eqA x x_27_)) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 (R x x_27_)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x_27_ x)) + (cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R x x_27_) (R x_27_ x)) + (p : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_8 + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R x x_27_) (R x_27_ x)) => + R x_27_ x)) + (a0 : cupicef.Term (cupicef.type s4) (R x x_27_) => + b0 : cupicef.Term (cupicef.type s4) (R x_27_ x) => + b0) + (let__X s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 cstr_8 cstr_9 + A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr X a + b)) + X) + (Coq__Classes__CRelationClasses.partial__order__equivalence + s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_3 cstr_4 cstr_5 + cstr_6 cstr_7 A eqA equ R preo H x x_27_)) + (Coq__Classes__CRelationClasses.transitivity s1 s4 A R + (Coq__Classes__CRelationClasses.PreOrder__Transitive s1 + s4 A R preo) + x y y_27_ Hr + (cupicef.cast + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) => + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) => + R y y_27_) X)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + cupicef.I + (Coq__Classes__CRelationClasses.iffT s4 s4 cstr_6 + cstr_7 cstr_6 cstr_7 (eqA y y_27_) + (Coq__Classes__CRelationClasses.relation__conjunction + s1 s4 s4 s4 cupicef.I cstr_6 cupicef.I cstr_7 + A R + (Coq__Classes__CRelationClasses.flip s1 s1 s5 + A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R) + y y_27_)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Classes__CRelationClasses.iffT s4 s4 + cstr_6 cstr_7 cstr_6 cstr_7 (eqA y y_27_) + (Coq__Classes__CRelationClasses.relation__conjunction + s1 s4 s4 s4 cupicef.I cstr_6 cupicef.I + cstr_7 A R + (Coq__Classes__CRelationClasses.flip s1 + s1 s5 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom + (cupicef.type s4))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.axiom + (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom + (cupicef.type s5)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom + (cupicef.type s4)) + cupicef.I)) + R) + y y_27_)) => + R y y_27_)) + cupicef.I + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) + (cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) + (p : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_8 + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term (cupicef.type s4) + (eqA y y_27_) => + Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y))) + (cupicef.prod (cupicef.type s4) + (cupicef.type s4) + (cupicef.rule (cupicef.type s4) + (cupicef.type s4)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) => + R y y_27_)) + (a : + (__ : + cupicef.Term (cupicef.type s4) (eqA y y_27_) -> + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y y_27_) (R y_27_ y))) => + b : + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) -> + cupicef.Term (cupicef.type s4) (eqA y y_27_)) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 (R y y_27_)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R y_27_ y)) + (cupicef.cast + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom (cupicef.type s4))) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + (cupicef.prod (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s4) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) + (p : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) + (cupicef.type s4) (R y y_27_) + (R y_27_ y)) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_8 + (X0 : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod + (cupicef.type s4) (cupicef.type s4) + (R y y_27_) (R y_27_ y)) => + R y y_27_)) + (a0 : cupicef.Term (cupicef.type s4) (R y y_27_) => + b0 : cupicef.Term (cupicef.type s4) (R y_27_ y) => + a0) + (let__X4 s0 s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 cstr_6 cstr_7 cstr_8 + cstr_9 A eqA equ R preo H x x_27_ Hx y y_27_ + Hy Hr X a b)) + X) + (Coq__Classes__CRelationClasses.partial__order__equivalence + s1 s2 s3 s4 s5 cstr_0 cstr_1 cstr_3 cstr_4 cstr_5 + cstr_6 cstr_7 A eqA equ R preo H y y_27_))))))). + +#TYPE_CLASS_INSTANCE PartialOrder__proper__type. + +thm PartialOrder__StrictOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type (cupicef.s cupicef.z))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s3)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s8)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s4)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) -> + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) -> + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) -> + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) -> + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s6) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Equivalence s6 s7 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.PreOrder s6 s7 A R) -> + H : + cupicef.Term (cupicef.type s5) + (Coq__Classes__CRelationClasses.PartialOrder s6 s8 s5 s7 s3 cstr_2 + cstr_1 cstr_9 cstr_8 cstr_11 cstr_12 cstr_13 A eqA equ R preo) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s6))) + (Coq__Classes__CRelationClasses.StrictOrder s6 s0 s1 A + (Coq__Classes__CRelationClasses.relation__conjunction s6 s7 s2 s1 + cstr_10 cstr_12 cstr_3 cstr_4 A R + (Coq__Classes__CRelationClasses.complement s6 s7 s2 A eqA))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) + (cupicef.type (cupicef.s cupicef.z))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s3)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s7)) (cupicef.type s8)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s1)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s4)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s4)) => + cstr_8 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s5)) => + cstr_9 : cupicef.eps (cupicef.Cumul (cupicef.type s6) (cupicef.type s8)) => + cstr_10 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) => + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + cstr_14 : + cupicef.eps + (cupicef.Cumul (cupicef.type s7) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s6) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Equivalence s6 s7 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s6) (cupicef.axiom (cupicef.type s7))) + (Coq__Classes__CRelationClasses.crelation s6 s7 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s6) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.PreOrder s6 s7 A R) => + H : + cupicef.Term (cupicef.type s5) + (Coq__Classes__CRelationClasses.PartialOrder s6 s8 s5 s7 s3 cstr_2 + cstr_1 cstr_9 cstr_8 cstr_11 cstr_12 cstr_13 A eqA equ R preo) => + Coq__Classes__CRelationClasses.Build__StrictOrder s6 s0 s1 A + (Coq__Classes__CRelationClasses.relation__conjunction s6 s7 s2 s1 + cstr_10 cstr_12 cstr_3 cstr_4 A R + (Coq__Classes__CRelationClasses.complement s6 s7 s2 A eqA)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) cupicef.prop)) + (cupicef.sup (cupicef.type s0) (cupicef.type s6)) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) cupicef.prop) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x x) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term (cupicef.type s7) (eqA x x) => + Coq__Init__Logic.False))) + (X : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x x) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA x x) + (__ : cupicef.Term (cupicef.type s7) (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.False))) + (Coq__Classes__CRelationClasses.Irreflexive s6 s0 s1 A + (Coq__Classes__CRelationClasses.relation__conjunction s6 s7 s2 s1 + cstr_10 cstr_12 cstr_3 cstr_4 A R + (Coq__Classes__CRelationClasses.complement s6 s7 s2 A eqA))) + cupicef.I + (x : cupicef.Term (cupicef.type s6) A => + X : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x x) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term (cupicef.type s7) (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.match____prod cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_12 (R x x)) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term (cupicef.type s7) (eqA x x) => + Coq__Init__Logic.False))) + (p : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x x) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term (cupicef.type s7) (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.False) + (__tmp : cupicef.Term (cupicef.type s7) (R x x) => + Hx : + (__ : cupicef.Term (cupicef.type s7) (eqA x x) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Hx + (Coq__Classes__CRelationClasses.Equivalence__Reflexive s6 s7 A + eqA equ x)) + X)) + (cupicef.cast + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)))))) + (cupicef.sup (cupicef.type s1) (cupicef.type s6)) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7))))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x y) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA x y) + (__ : cupicef.Term (cupicef.type s7) (eqA x y) => + Coq__Init__Logic.False))) + (X : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) + cupicef.prop (R x y) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA x y) + (__ : cupicef.Term (cupicef.type s7) (eqA x y) => + Coq__Init__Logic.False))) => + cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s7) + cupicef.prop (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) + (__ : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) + cupicef.prop (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) + cupicef.prop) + cupicef.I (eqA y z) + (__ : + cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.prod (cupicef.type s7) + cupicef.prop (R x z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA x z) + (__0 : cupicef.Term (cupicef.type s7) (eqA x z) => + Coq__Init__Logic.False)))))))) + (Coq__Classes__CRelationClasses.Transitive s6 s1 A + (Coq__Classes__CRelationClasses.relation__conjunction s6 s7 s2 s1 + cstr_10 cstr_12 cstr_3 cstr_4 A R + (Coq__Classes__CRelationClasses.complement s6 s7 s2 A eqA))) + cupicef.I + (x : cupicef.Term (cupicef.type s6) A => + y : cupicef.Term (cupicef.type s6) A => + z : cupicef.Term (cupicef.type s6) A => + X : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x y) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s7) (eqA x y) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.match____prod (cupicef.type s7) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_12 (R x y)) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s7) (eqA x y) => + Coq__Init__Logic.False))) + (p : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x y) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s7) (eqA x y) => + Coq__Init__Logic.False))) => + cupicef.prod (cupicef.type s7) (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s7)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) + (__ : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x z) + (__0 : cupicef.Term (cupicef.type s7) (eqA x z) => + Coq__Init__Logic.False)))) + (Hxy : cupicef.Term (cupicef.type s7) (R x y) => + Hxy_27_ : + (__ : cupicef.Term (cupicef.type s7) (eqA x y) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + X0 : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.match____prod (cupicef.type s7) + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_12 (R y z)) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) + (p : + cupicef.Term (cupicef.type s7) + (Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R y z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA y z) + (__ : cupicef.Term (cupicef.type s7) (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Datatypes.prod (cupicef.type s7) cupicef.prop + (R x z) + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) cupicef.I + (eqA x z) + (__ : cupicef.Term (cupicef.type s7) (eqA x z) => + Coq__Init__Logic.False))) + (Hyz : cupicef.Term (cupicef.type s7) (R y z) => + Hyz_27_ : + (__ : cupicef.Term (cupicef.type s7) (eqA y z) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_12 (R x z)) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type s7) cupicef.prop + (cupicef.rule (cupicef.type s7) cupicef.prop) + cupicef.I (eqA x z) + (__ : cupicef.Term (cupicef.type s7) (eqA x z) => + Coq__Init__Logic.False))) + (Coq__Classes__CRelationClasses.PreOrder__Transitive s6 s7 A + R preo x y z Hxy Hyz) + (Hxz : cupicef.Term (cupicef.type s7) (eqA x z) => + Hxy_27_ + (Coq__Classes__CRelationClasses.partial__order__antisym + s6 s8 s5 s3 s7 cstr_2 cstr_1 cstr_9 cstr_8 cstr_11 + cstr_12 cstr_13 A eqA equ R preo H x y Hxy + ((lemma : cupicef.Term (cupicef.type s7) (eqA x z) => + Reflexive__partial__app__morphism s6 s4 s4 s5 s7 s5 + cstr_7 cstr_8 cupicef.I cstr_11 cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s4))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans + (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) + cstr_1 + (cupicef.SortSome (cupicef.type s4)) + cstr_5 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I))) + eqA + (respectful s6 s7 s3 s7 s4 s5 cstr_7 cstr_8 + cstr_11 cstr_5 cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s7 s7))) + R + (subrelation__proper s4 s5 cstr_0 cstr_6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s4))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans + (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) + cstr_1 + (cupicef.SortSome (cupicef.type s4)) + cstr_5 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.rule (cupicef.type s6) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)))) + (respectful s6 s7 s4 s5 s4 s5 cstr_7 cstr_8 + cstr_11 cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s4))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans + (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) + cstr_1 + (cupicef.SortSome (cupicef.type s4)) + cstr_5 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I))) + eqA + (respectful s6 s7 s3 s7 s4 s5 cstr_7 cstr_8 + cstr_11 cstr_5 cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s7 + s7 cstr_12 cstr_13 cstr_12 cstr_13))) + R + (PartialOrder__proper__type s4 s6 s8 s5 s7 s3 + cstr_2 cstr_1 cstr_7 cstr_9 cstr_8 cstr_11 + cstr_12 cstr_13 cstr_14 cstr_5 A eqA equ R + preo H) + (respectful s6 s7 s4 s5 s4 s5 cstr_7 cstr_8 + cstr_11 cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s4))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans + (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) + cstr_1 + (cupicef.SortSome (cupicef.type s4)) + cstr_5 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I))) + eqA + (respectful s6 s7 s3 s7 s4 s5 cstr_7 cstr_8 + cstr_11 cstr_5 cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 + s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow + s7 s7)))) + Coq__Init__Datatypes.tt + (subrelation__respectful s6 s4 s5 s5 s7 s5 s7 + s4 s5 cstr_7 cstr_8 cstr_8 cstr_11 cupicef.I + cstr_11 cupicef.I cupicef.I A eqA eqA + (subrelation__refl s6 s7 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom + (cupicef.sup (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s6) + (cupicef.type s4))) + cstr_7 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s7)) + (cupicef.type s4))) + (cupicef.trans + (cupicef.axiom (cupicef.type s7)) + (cupicef.SortSome (cupicef.type s3)) + cstr_1 + (cupicef.SortSome (cupicef.type s4)) + cstr_5 cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s6) + (cupicef.axiom (cupicef.type s7)) + (cupicef.rule (cupicef.type s6) + (cupicef.axiom (cupicef.type s7))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s6) A => + cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I))) + (respectful s6 s7 s3 s7 s4 s5 cstr_7 cstr_8 + cstr_11 cstr_5 cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s7 + s7 cstr_12 cstr_13 cstr_12 cstr_13)) + (respectful s6 s7 s3 s7 s4 s5 cstr_7 cstr_8 + cstr_11 cstr_5 cstr_11 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 + s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow + s7 s7))) + (subrelation__respectful s6 s4 s5 s5 s7 s7 + s7 s3 s7 cstr_7 cstr_8 cstr_8 cstr_11 + cstr_11 cstr_11 cstr_5 cstr_11 A eqA eqA + (subrelation__refl s6 s7 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s7 + s7 cstr_12 cstr_13 cstr_12 cstr_13) + (Coq__Classes__CRelationClasses.flip s3 + s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow + s7 s7)) + (flip2 s3 s7 s7 s3 cstr_1 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s7))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s7)) + (cupicef.axiom + (cupicef.axiom + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s7) + (cupicef.axiom (cupicef.type s7)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT + s7 s7 cstr_12 cstr_13 cstr_12 + cstr_13) + (y0 : cupicef.Univ (cupicef.type s7) => + x0 : cupicef.Univ (cupicef.type s7) => + cupicef.prod (cupicef.type s7) + (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.type s7)) + cupicef.I x0 + (__ : + cupicef.Term (cupicef.type s7) + x0 => + y0)) + (iffT__flip__arrow__subrelation s3 s7 + s3 s7 cstr_1 cstr_1 cupicef.I + cstr_12 cstr_13 cstr_14))))) + y + (reflexive__proper__proxy s6 s7 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Reflexive + s6 s7 A eqA equ) + y) + x z lemma) + Hxz Hyz)))) + X0) + X)). + +thm StrictOrder__PreOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s3)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s5)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s0)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) -> + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s6)) -> + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s5)) -> + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s6)) -> + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s0)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) -> + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s7) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s7) (cupicef.type s8)) + (Coq__Classes__CRelationClasses.Equivalence s7 s8 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s2)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s2 A) -> + H0 : + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s7))) + (Coq__Classes__CRelationClasses.StrictOrder s7 s1 s2 A R) -> + H1 : + cupicef.Term (cupicef.type s6) + (Proper s5 s6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) (cupicef.axiom (cupicef.type s5)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)))) + (respectful s7 s8 s5 s6 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 cstr_8 cstr_9 + cstr_8 cstr_9))) + R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.PreOrder s7 s0 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 s0 + cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s3)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s5)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s6)) + (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s0)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s0)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s4)) => + cstr_6 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s6)) => + cstr_7 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cstr_11 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s5)) => + cstr_12 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s6)) => + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s5)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s0)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s4)) => + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s7) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s7) (cupicef.type s8)) + (Coq__Classes__CRelationClasses.Equivalence s7 s8 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s2)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s2 A) => + H0 : + cupicef.Term + (cupicef.sup (cupicef.type s1) + (cupicef.sup (cupicef.type s2) (cupicef.type s7))) + (Coq__Classes__CRelationClasses.StrictOrder s7 s1 s2 A R) => + H1 : + cupicef.Term (cupicef.type s6) + (Proper s5 s6 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)))) + (respectful s7 s8 s5 s6 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 cstr_8 cstr_9 + cstr_8 cstr_9))) + R) => + Coq__Classes__CRelationClasses.Build__PreOrder s7 s0 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 s0 + cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA) + (cupicef.cast + (cupicef.rule (cupicef.type s7) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.prod (cupicef.type s7) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (cupicef.rule (cupicef.type s7) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s7) A => + Coq__Init__Datatypes.sum (cupicef.type s2) (cupicef.type s8) + (R x x) (eqA x x))) + (Coq__Classes__CRelationClasses.Reflexive s7 s0 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 s0 + cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA)) + cupicef.I + (x : cupicef.Term (cupicef.type s7) A => + Coq__Init__Datatypes.inr + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x x)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x x)) + (Coq__Classes__CRelationClasses.reflexivity s7 s8 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Reflexive s7 s8 A + eqA H) + x))) + (cupicef.cast + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s7)) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0))))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0))) + cupicef.I + (Coq__Classes__CRelationClasses.relation__disjunction s7 + s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R + eqA x y) + (X : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction + s7 s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 + cstr_18 A R eqA x y) => + cupicef.prod (cupicef.type s0) (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)) + cupicef.I + (Coq__Classes__CRelationClasses.relation__disjunction + s7 s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 + A R eqA y z) + (__ : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction + s7 s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 + cstr_18 A R eqA y z) => + Coq__Classes__CRelationClasses.relation__disjunction + s7 s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 + A R eqA x z)))))) + (Coq__Classes__CRelationClasses.Transitive s7 s0 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 s0 + cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA)) + cupicef.I + (x : cupicef.Term (cupicef.type s7) A => + y : cupicef.Term (cupicef.type s7) A => + z : cupicef.Term (cupicef.type s7) A => + X : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 + s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA x y) => + Coq__Init__Datatypes.match____sum (cupicef.type s0) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x y)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x y)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s2) (cupicef.type s8) + (R x y) (eqA x y)) => + cupicef.prod (cupicef.type s0) (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s0)) cupicef.I + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 + s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA y z) + (__ : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction s7 + s2 s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R + eqA y z) => + Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 + s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA x z)) + (Hxy : cupicef.Term (cupicef.type s2) (R x y) => + X0 : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 + s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA y z) => + Coq__Init__Datatypes.match____sum (cupicef.type s0) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R y z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA y z)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s2) + (cupicef.type s8) (R y z) (eqA y z)) => + Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 + s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA x z) + (Hyz : cupicef.Term (cupicef.type s2) (R y z) => + Coq__Init__Datatypes.inl + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x z)) + (Coq__Classes__CRelationClasses.transitivity s7 s2 A R + (Coq__Classes__CRelationClasses.StrictOrder__Transitive + s7 s1 s2 A R H0) + x y z Hxy Hyz)) + (Hyz : cupicef.Term (cupicef.type s8) (eqA y z) => + Coq__Init__Datatypes.inl + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x z)) + ((lemma : cupicef.Term (cupicef.type s8) (eqA y z) => + Reflexive__partial__app__morphism s7 s5 s5 s6 s8 s4 + cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_12 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s4 cstr_15 cstr_14 cstr_17 + cstr_11 cstr_5 A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2))) + R + (subrelation__proper s5 s6 cstr_2 cstr_13 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)))) + (respectful s7 s8 s5 s6 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 + cstr_8 cstr_9 cstr_8 cstr_9))) + R H1 + (respectful s7 s8 s5 s4 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cstr_12 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s4 cstr_15 cstr_14 + cstr_17 cstr_11 cstr_5 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2)))) + Coq__Init__Datatypes.tt + (subrelation__respectful s7 s5 s6 s6 s8 s6 s8 s5 s4 + cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cstr_12 A eqA eqA + (subrelation__refl s7 s8 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I))) + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 + cstr_8 cstr_9 cstr_8 cstr_9)) + (respectful s7 s8 s3 s2 s5 s4 cstr_15 cstr_14 + cstr_17 cstr_11 cstr_5 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2))) + (subrelation__respectful s7 s5 s6 s4 s8 s2 s8 s3 + s2 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_14 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_6 cstr_17 cstr_11 cstr_5 A eqA eqA + (subrelation__refl s7 s8 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s2 s2 + cstr_8 cstr_9 cstr_8 cstr_9) + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2)) + (flip2 s3 s2 s2 s3 cstr_0 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s2 s2 + cstr_8 cstr_9 cstr_8 cstr_9) + (y0 : cupicef.Univ (cupicef.type s2) => + x0 : cupicef.Univ (cupicef.type s2) => + cupicef.prod (cupicef.type s2) + (cupicef.type s2) + (cupicef.rule (cupicef.type s2) + (cupicef.type s2)) + cupicef.I x0 + (__ : cupicef.Term (cupicef.type s2) x0 => + y0)) + (iffT__flip__arrow__subrelation s3 s2 s3 s2 + cstr_0 cstr_0 cupicef.I cstr_8 cstr_9 + cstr_10))))) + x + (reflexive__proper__proxy s7 s8 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Reflexive + s7 s8 A eqA H) + x) + z y + (Coq__Classes__CRelationClasses.symmetry s7 s8 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Symmetric + s7 s8 A eqA H) + y z lemma)) + Hyz Hxy)) + X0) + (Hxy : cupicef.Term (cupicef.type s8) (eqA x y) => + X0 : + cupicef.Term (cupicef.type s0) + (Coq__Classes__CRelationClasses.relation__disjunction s7 s2 + s8 s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA y z) => + Coq__Init__Datatypes.match____sum (cupicef.type s0) + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R y z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA y z)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s2) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s2) + (cupicef.type s8) (R y z) (eqA y z)) => + Coq__Classes__CRelationClasses.relation__disjunction s7 s2 s8 + s0 cupicef.I cstr_4 cstr_7 cstr_16 cstr_18 A R eqA x z) + (Hyz : cupicef.Term (cupicef.type s2) (R y z) => + Coq__Init__Datatypes.inl + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x z)) + ((lemma : cupicef.Term (cupicef.type s8) (eqA x y) => + subrelation__proper s5 s6 cstr_2 cstr_13 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)))) + (respectful s7 s8 s5 s6 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 cstr_8 + cstr_9 cstr_8 cstr_9))) + R H1 + (respectful s7 s8 s5 s4 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cstr_12 A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + eqA + (respectful s7 s8 s3 s2 s5 s4 cstr_15 cstr_14 cstr_17 + cstr_11 cstr_5 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2)))) + Coq__Init__Datatypes.tt + (subrelation__respectful s7 s5 s6 s6 s8 s6 s8 s5 s4 + cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cupicef.I cstr_12 A eqA eqA + (subrelation__refl s7 s8 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.univ + (cupicef.sup (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7)) + (cupicef.axiom + (cupicef.sup + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s7))) + cupicef.I) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) + (cupicef.type s5))) + cstr_15 + (cupicef.BoolSome + (cupicef.Cumul + (cupicef.axiom (cupicef.type s2)) + (cupicef.type s5))) + cstr_1 cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s2)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s2))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I))) + (respectful s7 s8 s3 s2 s5 s6 cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_11 cstr_6 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s2 s2 cstr_8 + cstr_9 cstr_8 cstr_9)) + (respectful s7 s8 s3 s2 s5 s4 cstr_15 cstr_14 cstr_17 + cstr_11 cstr_5 A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2))) + (subrelation__respectful s7 s5 s6 s4 s8 s2 s8 s3 s2 + cstr_15 + (cupicef.trans (cupicef.type s7) + (cupicef.SortSome (cupicef.type s4)) cstr_14 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_14 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s4)) cstr_17 + (cupicef.SortSome (cupicef.type s6)) cstr_12 + cupicef.SortNone) + cstr_6 cstr_17 cstr_11 cstr_5 A eqA eqA + (subrelation__refl s7 s8 A eqA) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s2 s2 cstr_8 + cstr_9 cstr_8 cstr_9) + (Coq__Classes__CRelationClasses.flip s3 s3 s3 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.arrow s2 s2)) + (flip2 s3 s2 s2 s3 cstr_0 + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + (Coq__Classes__CRelationClasses.iffT s2 s2 + cstr_8 cstr_9 cstr_8 cstr_9) + (y0 : cupicef.Univ (cupicef.type s2) => + x0 : cupicef.Univ (cupicef.type s2) => + cupicef.prod (cupicef.type s2) + (cupicef.type s2) + (cupicef.rule (cupicef.type s2) + (cupicef.type s2)) + cupicef.I x0 + (__ : cupicef.Term (cupicef.type s2) x0 => + y0)) + (iffT__flip__arrow__subrelation s3 s2 s3 s2 + cstr_0 cstr_0 cupicef.I cstr_8 cstr_9 + cstr_10)))) + x y lemma z z + (reflexive__proper__proxy s7 s8 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Reflexive + s7 s8 A eqA H) + z)) + Hxy Hyz)) + (Hyz : cupicef.Term (cupicef.type s8) (eqA y z) => + Coq__Init__Datatypes.inr + (cupicef.cast (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_7 (R x z)) + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (eqA x z)) + (Coq__Classes__CRelationClasses.transitivity s7 s8 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Transitive + s7 s8 A eqA H) + x y z Hxy Hyz)) + X0) + X)). + +thm StrictOrder__PartialOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + s5 : cupicef.Nat -> + s6 : cupicef.Nat -> + s7 : cupicef.Nat -> + s8 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s0)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s2)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s3)) -> + cstr_4 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s5)) -> + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s4)) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) -> + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s0)) -> + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) -> + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) -> + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) -> + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_19 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_20 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_21 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s7) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s5)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s5 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s5) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Equivalence s7 s5 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) -> + H0 : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s8))) + (Coq__Classes__CRelationClasses.StrictOrder s7 s6 s8 A R) -> + H1 : + cupicef.Term (cupicef.type s1) + (Proper s4 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_16 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)))) + (respectful s7 s5 s4 s1 s4 s1 cstr_16 cstr_15 cstr_7 cupicef.I + cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_16 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I))) + eqA + (respectful s7 s5 s3 s8 s4 s1 cstr_16 cstr_15 cstr_7 cstr_5 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 + cupicef.SortNone) + A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_3 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s8 s8 cstr_19 cstr_20 + cstr_19 cstr_20))) + R) -> + cupicef.Term (cupicef.type s1) + (Coq__Classes__CRelationClasses.PartialOrder s7 s0 s1 s5 s2 cstr_1 cstr_2 + cstr_14 cstr_15 cstr_7 cstr_11 cstr_12 A eqA H + (Coq__Classes__CRelationClasses.relation__disjunction s7 s8 s5 s5 + cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A R eqA) + (StrictOrder__PreOrder s5 s6 s8 s3 s1 s4 s1 s7 s5 cstr_3 + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 cupicef.SortNone) + cstr_0 cupicef.I cstr_17 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + cstr_18 cstr_19 cstr_20 cstr_21 cstr_5 cupicef.I cstr_6 cstr_15 + cstr_16 cupicef.I cstr_7 cstr_9 A eqA H R H0 H1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + s5 : cupicef.Nat => + s6 : cupicef.Nat => + s7 : cupicef.Nat => + s8 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) + (cupicef.type (cupicef.s cupicef.z))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s0)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s5)) (cupicef.type s2)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) (cupicef.type s3)) => + cstr_4 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s5)) => + cstr_5 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s4)) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_7 : cupicef.eps (cupicef.Cumul (cupicef.type s5) (cupicef.type s1)) => + cstr_8 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_9 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_10 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_11 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_12 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_13 : + cupicef.eps + (cupicef.Cumul (cupicef.type s5) (cupicef.type (cupicef.s cupicef.z))) => + cstr_14 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s0)) => + cstr_15 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s1)) => + cstr_16 : cupicef.eps (cupicef.Cumul (cupicef.type s7) (cupicef.type s4)) => + cstr_17 : cupicef.eps (cupicef.Cumul (cupicef.type s8) (cupicef.type s5)) => + cstr_18 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_19 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_20 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + cstr_21 : + cupicef.eps + (cupicef.Cumul (cupicef.type s8) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s7) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type s5)) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.crelation s7 s5 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s5) (cupicef.type s7)) + (Coq__Classes__CRelationClasses.Equivalence s7 s5 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s7) (cupicef.axiom (cupicef.type s8))) + (Coq__Classes__CRelationClasses.crelation s7 s8 A) => + H0 : + cupicef.Term + (cupicef.sup (cupicef.type s6) + (cupicef.sup (cupicef.type s7) (cupicef.type s8))) + (Coq__Classes__CRelationClasses.StrictOrder s7 s6 s8 A R) => + H1 : + cupicef.Term (cupicef.type s1) + (Proper s4 s1 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_16 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)))) + (respectful s7 s5 s4 s1 s4 s1 cstr_16 cstr_15 cstr_7 cupicef.I + cupicef.I A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s7) (cupicef.type s4))) + cstr_16 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s8)) + (cupicef.type s4))) + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 + cupicef.SortNone) + cupicef.BoolNone) + (cupicef.prod (cupicef.type s7) + (cupicef.axiom (cupicef.type s8)) + (cupicef.rule (cupicef.type s7) + (cupicef.axiom (cupicef.type s8))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s7) A => + cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I))) + eqA + (respectful s7 s5 s3 s8 s4 s1 cstr_16 cstr_15 cstr_7 cstr_5 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 + cupicef.SortNone) + A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.axiom (cupicef.type s8))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_3 + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I)) + eqA + (Coq__Classes__CRelationClasses.iffT s8 s8 cstr_19 cstr_20 + cstr_19 cstr_20))) + R) => + cupicef.cast + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s5))) + (cupicef.type s1) + (cupicef.prod (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s5)) + (cupicef.rule (cupicef.type s7) + (cupicef.rule (cupicef.type s7) (cupicef.type s5))) + cupicef.I A + (x : cupicef.Term (cupicef.type s7) A => + cupicef.prod (cupicef.type s7) (cupicef.type s5) + (cupicef.rule (cupicef.type s7) (cupicef.type s5)) cupicef.I A + (y : cupicef.Term (cupicef.type s7) A => + Coq__Classes__CRelationClasses.iffT s5 s5 cstr_11 cstr_12 cstr_11 + cstr_12 (eqA x y) + (Coq__Classes__CRelationClasses.relation__conjunction s7 s5 s5 + s5 cupicef.I cstr_11 cupicef.I cstr_12 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s8 + s5 s5 cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A R eqA) + (Coq__Classes__CRelationClasses.flip s7 s7 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (Coq__Classes__CRelationClasses.relation__disjunction s7 + s8 s5 s5 cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A + R eqA)) + x y)))) + (Coq__Classes__CRelationClasses.PartialOrder s7 s0 s1 s5 s2 cstr_1 + cstr_2 cstr_14 cstr_15 cstr_7 cstr_11 cstr_12 A eqA H + (Coq__Classes__CRelationClasses.relation__disjunction s7 s8 s5 s5 + cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A R eqA) + (StrictOrder__PreOrder s5 s6 s8 s3 s1 s4 s1 s7 s5 cstr_3 + (cupicef.trans (cupicef.axiom (cupicef.type s8)) + (cupicef.SortSome (cupicef.type s3)) cstr_3 + (cupicef.SortSome (cupicef.type s4)) cstr_5 cupicef.SortNone) + cstr_0 cupicef.I cstr_17 + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + (cupicef.trans (cupicef.type s8) + (cupicef.SortSome (cupicef.type s5)) cstr_17 + (cupicef.SortSome (cupicef.type s1)) cstr_7 cupicef.SortNone) + cstr_18 cstr_19 cstr_20 cstr_21 cstr_5 cupicef.I cstr_6 cstr_15 + cstr_16 cupicef.I cstr_7 cstr_9 A eqA H R H0 H1)) + cupicef.I + (x : cupicef.Term (cupicef.type s7) A => + y : cupicef.Term (cupicef.type s7) A => + cupicef.cast + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.type s5) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.prod (cupicef.type s5) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.rule (cupicef.type s5) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I (eqA x y) + (__ : cupicef.Term (cupicef.type s5) (eqA x y) => + Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.type s5) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.type s5)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (__ : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + eqA x y))) + (Coq__Classes__CRelationClasses.iffT s5 s5 cstr_11 cstr_12 cstr_11 + cstr_12 (eqA x y) + (Coq__Classes__CRelationClasses.relation__conjunction s7 s5 s5 s5 + cupicef.I cstr_11 cupicef.I cstr_12 A + (Coq__Classes__CRelationClasses.relation__disjunction s7 s8 s5 + s5 cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A R eqA) + (Coq__Classes__CRelationClasses.flip s7 s7 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.axiom (cupicef.type s5))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_2 + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (Coq__Classes__CRelationClasses.relation__disjunction s7 s8 + s5 s5 cupicef.I cstr_17 cstr_18 cupicef.I cstr_9 A R eqA)) + x y)) + cupicef.I + (Coq__Init__Datatypes.pair + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_19 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_11 cupicef.BoolNone) + (cupicef.prod (cupicef.type s5) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.rule (cupicef.type s5) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I (eqA x y) + (__ : cupicef.Term (cupicef.type s5) (eqA x y) => + Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_20 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_12 cupicef.BoolNone) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.type s5) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.type s5)) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (__ : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + eqA x y))) + (X : cupicef.Term (cupicef.type s5) (eqA x y) => + Coq__Init__Datatypes.pair + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_19 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_11 cupicef.BoolNone) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_20 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_12 cupicef.BoolNone) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (Coq__Init__Datatypes.inr + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (R x y)) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_9 (eqA x y)) + X) + (Coq__Init__Datatypes.inr + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (R y x)) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_9 (eqA y x)) + (cupicef.cast (cupicef.type s5) (cupicef.type s5) (eqA y x) + (eqA y x) cupicef.I + (Coq__Classes__CRelationClasses.symmetry s7 s5 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Symmetric + s7 s5 A eqA H) + x y X)))) + (X : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_19 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_11 cupicef.BoolNone) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s8) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_20 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s5) + (cupicef.type (cupicef.s cupicef.z)))) + cstr_12 cupicef.BoolNone) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (X0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) + (p : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_13 + (X0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x))) => + eqA x y)) + (a : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) => + b : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + Coq__Init__Datatypes.sum__rect + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (R x y)) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_9 (eqA x y)) + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (a0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_10 + (a0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R x y) (eqA x y)) => + eqA x y)) + (a0 : cupicef.Term (cupicef.type s8) (R x y) => + Coq__Init__Datatypes.sum__rect + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (R y x)) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_9 (eqA y x)) + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) + (b0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_10 + (b0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + eqA x y)) + (a1 : cupicef.Term (cupicef.type s8) (R y x) => + Coq__Init__Logic.False__rect + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_8 (eqA x y)) + (Coq__Classes__CRelationClasses.StrictOrder__Irreflexive + s7 s6 s8 A R H0 x + (Coq__Classes__CRelationClasses.transitivity s7 s8 + A R + (Coq__Classes__CRelationClasses.StrictOrder__Transitive + s7 s6 s8 A R H0) + x y x a0 a1))) + (b0 : cupicef.Term (cupicef.type s5) (eqA y x) => + cupicef.cast (cupicef.type s5) (cupicef.type s5) + (eqA x y) (eqA x y) cupicef.I + (Coq__Classes__CRelationClasses.symmetry s7 s5 A eqA + (Coq__Classes__CRelationClasses.Equivalence__Symmetric + s7 s5 A eqA H) + y x b0)) + b) + (b0 : cupicef.Term (cupicef.type s5) (eqA x y) => + Coq__Init__Datatypes.sum__rect + (cupicef.cast (cupicef.axiom (cupicef.type s8)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s8) + (cupicef.axiom (cupicef.type s8)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_18 (R y x)) + (cupicef.cast (cupicef.axiom (cupicef.type s5)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_9 (eqA y x)) + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.axiom (cupicef.type s5))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) + (b1 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + cupicef.univ (cupicef.type s5) + (cupicef.axiom (cupicef.type s5)) cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) (cupicef.type s8))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_10 + (b1 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s5) + (cupicef.type s8))) + (Coq__Init__Datatypes.sum (cupicef.type s8) + (cupicef.type s5) (R y x) (eqA y x)) => + eqA x y)) + (a0 : cupicef.Term (cupicef.type s8) (R y x) => b0) + (b1 : cupicef.Term (cupicef.type s5) (eqA y x) => b0) b) + a) + X))). + +(; End of translation. ;) diff --git a/out/Coq__Classes__CRelationClasses.dk b/out/Coq__Classes__CRelationClasses.dk new file mode 100644 index 000000000..18762daef --- /dev/null +++ b/out/Coq__Classes__CRelationClasses.dk @@ -0,0 +1,11122 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def crelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type s0) A => + cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)). + +def arrow : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B). + +def flip : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + C : cupicef.Univ (cupicef.type s2) -> + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) -> + x : cupicef.Term (cupicef.type s1) B -> + y : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s2) C + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + C : cupicef.Univ (cupicef.type s2) => + f : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s1) B -> + cupicef.Term (cupicef.type s2) C) => + x : cupicef.Term (cupicef.type s1) B => + y : cupicef.Term (cupicef.type s0) A => + f y x. + +def iffT : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + B : cupicef.Univ (cupicef.type s1) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + B : cupicef.Univ (cupicef.type s1) => + Coq__Init__Datatypes.prod + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => B)) + (cupicef.prod (cupicef.type s1) (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s0)) cupicef.I B + (__ : cupicef.Term (cupicef.type s1) B => A)). + +def Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => R x x). + +#TYPE_CLASS Reflexive. + +def reflexivity : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s1) (R x x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + Reflexive0. + +def complement : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2)))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2)))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + crelation s0 s2 A))) + cupicef.I + (A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) cupicef.prop + (cupicef.rule (cupicef.type s1) cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s1) (R x y) => + Coq__Init__Logic.False)). + +thm complement__inverse : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))))) + cstr_2 cupicef.BoolNone) + (crelation s0 s4 A)) + (complement s0 s1 s4 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (complement s0 s1 s4 A R))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + R : + (__ : cupicef.Term (cupicef.type s0) A -> + __0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Univ (cupicef.type s1)) => + Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s4)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))))) + cstr_2 cupicef.BoolNone) + (crelation s0 s4 A)) + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + (complement s0 s1 s4 A R)). + +def Irreflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + Reflexive s0 s1 A (complement s0 s2 s1 A R). + +#TYPE_CLASS Irreflexive. + +def irreflexivity : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A (complement s0 s2 s1 A R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) => + Irreflexive0. + +def Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (R x y) (__ : cupicef.Term (cupicef.type s1) (R x y) => R y x))). + +#TYPE_CLASS Symmetric. + +def symmetry : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R x y) -> + cupicef.Term (cupicef.type s1) (R y x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + Symmetric0. + +def Asymmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s2) (cupicef.type s1) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)) cupicef.I + (R x y) + (__ : cupicef.Term (cupicef.type s2) (R x y) => + cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 (complement s0 s2 s3 A R y x)))). + +#TYPE_CLASS Asymmetric. + +def asymmetry : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + Asymmetric0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Asymmetric s0 s1 s2 s3 cstr_0 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R x y) -> + cupicef.Term (cupicef.type s3) (complement s0 s2 s3 A R y x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + Asymmetric0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Asymmetric s0 s1 s2 s3 cstr_0 A R) => + Asymmetric0. + +def Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s1) (R x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (R y z) + (__0 : cupicef.Term (cupicef.type s1) (R y z) => R x z))))). + +#TYPE_CLASS Transitive. + +def transitivity : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + z : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R x y) -> + __0 : cupicef.Term (cupicef.type s1) (R y z) -> + cupicef.Term (cupicef.type s1) (R x z) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Transitive0. + +def PreOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)). + +#TYPE_CLASS PreOrder. + +def Build__PreOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PreOrder__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + PreOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R). + +[ ] cupicef.code_guarded? _ (Build__PreOrder _ _ _ _ _ _) --> cupicef.guarded. + +def match____PreOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + P : + (cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) -> + cupicef.Univ s) -> + case__Build__PreOrder : + (PreOrder__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + PreOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term s + (P + (Build__PreOrder s0 s1 A R PreOrder__Reflexive0 + PreOrder__Transitive0))) -> + x : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) -> + cupicef.Term s (P x). + +[ s0, s1, s, A, R, P, case__Build__PreOrder, PreOrder__Reflexive0, PreOrder__Transitive0] + match____PreOrder s0 s1 s A R P case__Build__PreOrder + (Build__PreOrder s0 s1 A R PreOrder__Reflexive0 PreOrder__Transitive0) + --> + case__Build__PreOrder PreOrder__Reflexive0 PreOrder__Transitive0. + +[ s0, s1, s, A, R, P, s'] + match____PreOrder s0 s1 s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PreOrder s0 s1 s' A R (x => P x). + +def PreOrder__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PreOrder0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + PreOrder0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + match____PreOrder s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + A R + (PreOrder1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + Reflexive s0 s1 A R) + (PreOrder__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + PreOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + PreOrder__Reflexive0) + PreOrder0. + +#TYPE_CLASS_INSTANCE PreOrder__Reflexive. + +def PreOrder__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PreOrder0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + PreOrder0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + match____PreOrder s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + A R + (PreOrder1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + Transitive s0 s1 A R) + (PreOrder__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + PreOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + PreOrder__Transitive0) + PreOrder0. + +#TYPE_CLASS_INSTANCE PreOrder__Transitive. + +def StrictOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))). + +#TYPE_CLASS StrictOrder. + +def Build__StrictOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) -> + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R). + +[ ] cupicef.code_guarded? _ (Build__StrictOrder _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____StrictOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + P : + (cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Univ s) -> + case__Build__StrictOrder : + (StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) -> + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) -> + cupicef.Term s + (P + (Build__StrictOrder s0 s1 s2 A R StrictOrder__Irreflexive0 + StrictOrder__Transitive0))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Term s (P x). + +[ s0, s1, s2, s, A, R, P, case__Build__StrictOrder, StrictOrder__Irreflexive0, StrictOrder__Transitive0] + match____StrictOrder s0 s1 s2 s A R P case__Build__StrictOrder + (Build__StrictOrder s0 s1 s2 A R StrictOrder__Irreflexive0 + StrictOrder__Transitive0) + --> + case__Build__StrictOrder StrictOrder__Irreflexive0 StrictOrder__Transitive0. + +[ s0, s1, s2, s, A, R, P, s'] + match____StrictOrder s0 s1 s2 s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____StrictOrder s0 s1 s2 s' A R (x => P x). + +def StrictOrder__Irreflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + StrictOrder0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + StrictOrder0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + match____StrictOrder s0 s1 s2 + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (StrictOrder1 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + Irreflexive s0 s1 s2 A R) + (StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) => + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) => + StrictOrder__Irreflexive0) + StrictOrder0. + +#TYPE_CLASS_INSTANCE StrictOrder__Irreflexive. + +def StrictOrder__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + StrictOrder0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + StrictOrder0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + match____StrictOrder s0 s1 s2 + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) A R + (StrictOrder1 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + Transitive s0 s2 A R) + (StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) => + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) => + StrictOrder__Transitive0) + StrictOrder0. + +#TYPE_CLASS_INSTANCE StrictOrder__Transitive. + +thm StrictOrder__Asymmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (Asymmetric s0 s3 s2 s3 cupicef.I A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s3))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s2) (cupicef.type s3) + (cupicef.rule (cupicef.type s2) (cupicef.type s3)) cupicef.I + (R x y) + (X : cupicef.Term (cupicef.type s2) (R x y) => + complement s0 s2 s3 A R y x)))) + (Asymmetric s0 s3 s2 s3 cupicef.I A R) cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s2) (R x y) => + cupicef.cast (cupicef.rule (cupicef.type s2) cupicef.prop) + (cupicef.type s3) + (cupicef.prod (cupicef.type s2) cupicef.prop + (cupicef.rule (cupicef.type s2) cupicef.prop) cupicef.I (R y x) + (X0 : cupicef.Term (cupicef.type s2) (R y x) => + Coq__Init__Logic.False)) + (complement s0 s2 s3 A R y x) cupicef.I + (X0 : cupicef.Term (cupicef.type s2) (R y x) => + match____StrictOrder s0 s1 s2 cupicef.prop A R + (s : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + Coq__Init__Logic.False) + (StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) => + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R y y0) -> + __0 : cupicef.Term (cupicef.type s2) (R y0 z) -> + cupicef.Term (cupicef.type s2) (R y z)) => + (X2 : + cupicef.Term (cupicef.type s1) (complement s0 s2 s1 A R y y) => + (X3 : + (z : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R y x) -> + __0 : cupicef.Term (cupicef.type s2) (R x z) -> + cupicef.Term (cupicef.type s2) (R y z)) => + X2 (X3 y X0 X)) (X1 x)) (StrictOrder__Irreflexive0 y)) + (StrictOrder__Transitive0 y)) + H)). + +#TYPE_CLASS_INSTANCE StrictOrder__Asymmetric. + +def PER : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)). + +#TYPE_CLASS PER. + +def Build__PER : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) -> + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R). + +[ ] cupicef.code_guarded? _ (Build__PER _ _ _ _ _ _) --> cupicef.guarded. + +def match____PER : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + P : + (cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) -> + cupicef.Univ s) -> + case__Build__PER : + (PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) -> + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term s + (P (Build__PER s0 s1 A R PER__Symmetric0 PER__Transitive0))) -> + x : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) -> + cupicef.Term s (P x). + +[ s0, s1, s, A, R, P, case__Build__PER, PER__Symmetric0, PER__Transitive0] + match____PER s0 s1 s A R P case__Build__PER + (Build__PER s0 s1 A R PER__Symmetric0 PER__Transitive0) + --> + case__Build__PER PER__Symmetric0 PER__Transitive0. + +[ s0, s1, s, A, R, P, s'] + match____PER s0 s1 s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PER s0 s1 s' A R (x => P x). + +def PER__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PER0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + PER0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + match____PER s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (PER1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + Symmetric s0 s1 A R) + (PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + PER__Symmetric0) + PER0. + +#TYPE_CLASS_INSTANCE PER__Symmetric. + +def PER__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + PER0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + PER0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + match____PER s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (PER1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + Transitive s0 s1 A R) + (PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + PER__Transitive0) + PER0. + +#TYPE_CLASS_INSTANCE PER__Transitive. + +def Equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ (cupicef.sup (cupicef.type s0) (cupicef.type s1)). + +#TYPE_CLASS Equivalence. + +def Build__Equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) -> + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R). + +[ ] cupicef.code_guarded? _ (Build__Equivalence _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____Equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + P : + (cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Univ s) -> + case__Build__Equivalence : + (Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) -> + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) -> + cupicef.Term s + (P + (Build__Equivalence s0 s1 A R Equivalence__Reflexive0 + Equivalence__Symmetric0 Equivalence__Transitive0))) -> + x : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term s (P x). + +[ s0, s1, s, A, R, P, case__Build__Equivalence, Equivalence__Reflexive0, Equivalence__Symmetric0, Equivalence__Transitive0] + match____Equivalence s0 s1 s A R P case__Build__Equivalence + (Build__Equivalence s0 s1 A R Equivalence__Reflexive0 + Equivalence__Symmetric0 Equivalence__Transitive0) + --> + case__Build__Equivalence Equivalence__Reflexive0 Equivalence__Symmetric0 + Equivalence__Transitive0. + +[ s0, s1, s, A, R, P, s'] + match____Equivalence s0 s1 s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Equivalence s0 s1 s' A R (x => P x). + +def Equivalence__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + match____Equivalence s0 s1 + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (Equivalence1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + Reflexive s0 s1 A R) + (Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Equivalence__Reflexive0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Reflexive. + +def Equivalence__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + match____Equivalence s0 s1 + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (Equivalence1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + Symmetric s0 s1 A R) + (Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Equivalence__Symmetric0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Symmetric. + +def Equivalence__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + Equivalence0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + match____Equivalence s0 s1 + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (Equivalence1 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + Transitive s0 s1 A R) + (Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Equivalence__Transitive0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Transitive. + +def Equivalence__PER : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + Build__PER s0 s1 A R (Equivalence__Symmetric s0 s1 A R H) + (Equivalence__Transitive s0 s1 A R H). + +#TYPE_CLASS_INSTANCE Equivalence__PER. + +def Antisymmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s1))) + cupicef.I (R x y) + (__ : cupicef.Term (cupicef.type s2) (R x y) => + cupicef.prod (cupicef.type s2) (cupicef.type s1) + (cupicef.rule (cupicef.type s2) (cupicef.type s1)) cupicef.I + (R y x) + (__0 : cupicef.Term (cupicef.type s2) (R y x) => eqA x y)))). + +#TYPE_CLASS Antisymmetric. + +def antisymmetry : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + Antisymmetric0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Antisymmetric s0 s1 s2 A eqA equ R) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R x y) -> + __0 : cupicef.Term (cupicef.type s2) (R y x) -> + cupicef.Term (cupicef.type s1) (eqA x y) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + Antisymmetric0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Antisymmetric s0 s1 s2 A eqA equ R) => + Antisymmetric0. + +def subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Univ + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) cupicef.I + (R x y) (__ : cupicef.Term (cupicef.type s1) (R x y) => R_27_ x y))). + +#TYPE_CLASS subrelation. + +def is__subrelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + subrelation0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (subrelation s0 s1 s2 A R R_27_) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R x y) -> + cupicef.Term (cupicef.type s2) (R_27_ x y) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + subrelation0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (subrelation s0 s1 s2 A R R_27_) => + subrelation0. + +thm subrelation__symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (subrelation s0 s2 s2 A + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R) + R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) cupicef.I + (flip s0 s0 s1 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) + (H_27_ : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s1 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) => + R x y)))) + (subrelation s0 s2 s2 A + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R) + R) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + H_27_ : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) => + symmetry s0 s2 A R H y x H_27_). + +thm flip__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + H. + +def flip__Irreflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Irreflexive s0 s3 s4 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s4 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Irreflexive s0 s3 s4 A R) => + irreflexivity s0 s3 s4 A R H. + +def flip__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + H0 : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) => + symmetry s0 s2 A R H y x H0. + +def flip__Asymmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s3) (cupicef.type s4))) + (Asymmetric s0 s4 s3 s4 cupicef.I A R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s3))) + (Asymmetric s0 s1 s3 s1 cupicef.I A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s3) (cupicef.type s4))) + (Asymmetric s0 s4 s3 s4 cupicef.I A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + H0 : + cupicef.Term (cupicef.type s3) + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R x y) => + H_27_ : + cupicef.Term (cupicef.type s3) + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R y x) => + asymmetry s0 s4 s3 s4 cupicef.I A R H y x H0 H_27_. + +def flip__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s1)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + z : cupicef.Term (cupicef.type s0) A => + H0 : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) => + H_27_ : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s1 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R y z) => + transitivity s0 s2 A R H z y x H_27_ H0. + +thm flip__Antisymmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Equivalence s0 s2 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Antisymmetric s0 s2 s1 A eqA equ R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Antisymmetric s0 s2 s1 A eqA equ + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s3)) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Equivalence s0 s2 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (Antisymmetric s0 s2 s1 A eqA equ R) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))))) + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s2))) + cupicef.I + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s2) + (cupicef.rule (cupicef.type s1) (cupicef.type s2)) cupicef.I + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y x) + (X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y x) => + eqA x y))))) + (Antisymmetric s0 s2 s1 A eqA equ + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y x) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R y y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 y) -> + cupicef.Term (cupicef.type s2) (eqA y y0)) => + (X2 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + __0 : cupicef.Term (cupicef.type s1) (R x y) -> + cupicef.Term (cupicef.type s2) (eqA y x)) => + (X3 : + (__ : cupicef.Term (cupicef.type s1) (R x y) -> + cupicef.Term (cupicef.type s2) (eqA y x)) => + (X4 : cupicef.Term (cupicef.type s2) (eqA y x) => + (X5 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R x y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 x) -> + cupicef.Term (cupicef.type s2) (eqA x y0)) => + H x y X0 X) (H x)) (X3 X0)) + (X2 X)) + (X1 x)) + (H y)). + +thm flip__PreOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + match____PreOrder s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + A R + (p : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PreOrder s0 s1 A R) => + PreOrder s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + (PreOrder__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + PreOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Build__PreOrder s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R) + PreOrder__Reflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) + (X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + z : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y z) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X2 : + (z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X3 : + (__ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X4 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X5 : cupicef.Term (cupicef.type s1) (R z x) => X5) (X4 X)) + (X3 X0)) + (X2 x)) + (X1 y)) + (PreOrder__Transitive0 z)))) + H. + +thm flip__StrictOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s4)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + (StrictOrder s0 s3 s2 A + (flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s2)) (cupicef.type s4)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + match____StrictOrder s0 s1 s2 + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s2) (cupicef.type s3))) + A R + (s : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (StrictOrder s0 s1 s2 A R) => + StrictOrder s0 s3 s2 A + (flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R)) + (StrictOrder__Irreflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A R) => + StrictOrder__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Transitive s0 s2 A R) => + Build__StrictOrder s0 s3 s2 A + (flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R) + StrictOrder__Irreflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + R x y) => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + cupicef.I + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + R y z) + (X0 : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ + (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive s0 s2 A + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + z : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R x y) => + X0 : + cupicef.Term (cupicef.type s2) + (flip s0 s0 s4 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s2)) + (cupicef.axiom (cupicef.axiom (cupicef.type s2))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I)) + R y z) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R z y0) -> + __0 : cupicef.Term (cupicef.type s2) (R y0 z0) -> + cupicef.Term (cupicef.type s2) (R z z0)) => + (X2 : + (z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R z y) -> + __0 : cupicef.Term (cupicef.type s2) (R y z0) -> + cupicef.Term (cupicef.type s2) (R z z0)) => + (X3 : + (__ : cupicef.Term (cupicef.type s2) (R z y) -> + __0 : cupicef.Term (cupicef.type s2) (R y x) -> + cupicef.Term (cupicef.type s2) (R z x)) => + (X4 : + (__ : cupicef.Term (cupicef.type s2) (R y x) -> + cupicef.Term (cupicef.type s2) (R z x)) => + (X5 : cupicef.Term (cupicef.type s2) (R z x) => X5) (X4 X)) + (X3 X0)) + (X2 x)) + (X1 y)) + (StrictOrder__Transitive0 z)))) + H. + +thm flip__PER : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + match____PER s0 s1 (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (p : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (PER s0 s1 A R) => + PER s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + (PER__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + PER__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Build__PER s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + R x y)))) + (Symmetric s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + (X0 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R y y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 z) -> + cupicef.Term (cupicef.type s1) (R y z)) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R y y0) -> + cupicef.Term (cupicef.type s1) (R y0 y)) => + (X2 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R x y)) => + (X3 : cupicef.Term (cupicef.type s1) (R x y) => X3) (X2 X)) + (X1 x)) + (PER__Symmetric0 y)) + (PER__Transitive0 y))) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) + (X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + z : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y z) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X2 : + (z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X3 : + (__ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X4 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X5 : cupicef.Term (cupicef.type s1) (R z x) => X5) (X4 X)) + (X3 X0)) + (X2 x)) + (X1 y)) + (PER__Transitive0 z)))) + H. + +thm flip__Equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + match____Equivalence s0 s1 + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) A R + (e : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A R) => + Equivalence s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + (Equivalence__Reflexive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A R) => + Equivalence__Symmetric0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A R) => + Equivalence__Transitive0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A R) => + Build__Equivalence s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R) + Equivalence__Reflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + R x y)))) + (Symmetric s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + (X0 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R y y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 z) -> + cupicef.Term (cupicef.type s1) (R y z)) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R y y0) -> + cupicef.Term (cupicef.type s1) (R y0 y)) => + (X2 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R x y)) => + (X3 : cupicef.Term (cupicef.type s1) (R x y) => X3) (X2 X)) + (X1 x)) + (Equivalence__Symmetric0 y)) + (Equivalence__Transitive0 y))) + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (z : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) + (X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) + (X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ + (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive s0 s1 A + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + z : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R x y) => + X0 : + cupicef.Term (cupicef.type s1) + (flip s0 s0 s2 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s2)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + cupicef.I) + (cupicef.univ (cupicef.type s2) + (cupicef.axiom (cupicef.type s2)) cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + R y z) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y0) -> + __0 : cupicef.Term (cupicef.type s1) (R y0 z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X2 : + (z0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y z0) -> + cupicef.Term (cupicef.type s1) (R z z0)) => + (X3 : + (__ : cupicef.Term (cupicef.type s1) (R z y) -> + __0 : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X4 : + (__ : cupicef.Term (cupicef.type s1) (R y x) -> + cupicef.Term (cupicef.type s1) (R z x)) => + (X5 : cupicef.Term (cupicef.type s1) (R z x) => X5) (X4 X)) + (X3 X0)) + (X2 x)) + (X1 y)) + (Equivalence__Transitive0 z)))) + H. + +thm complement__Irreflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Reflexive s0 s3 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Irreflexive s0 s1 s2 A (complement s0 s3 s2 A R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Reflexive s0 s3 A R) => + cupicef.cast (cupicef.rule (cupicef.type s0) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) (cupicef.type s1) + (cupicef.rule (cupicef.type s0) (cupicef.type s1)) cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + complement s0 s2 s1 A (complement s0 s3 s2 A R) x x)) + (Irreflexive s0 s1 s2 A (complement s0 s3 s2 A R)) cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + cupicef.cast (cupicef.rule (cupicef.type s2) cupicef.prop) + (cupicef.type s1) + (cupicef.prod (cupicef.type s2) cupicef.prop + (cupicef.rule (cupicef.type s2) cupicef.prop) cupicef.I + (complement s0 s3 s2 A R x x) + (X : cupicef.Term (cupicef.type s2) (complement s0 s3 s2 A R x x) => + Coq__Init__Logic.False)) + (complement s0 s2 s1 A (complement s0 s3 s2 A R) x x) cupicef.I + (X : cupicef.Term (cupicef.type s2) (complement s0 s3 s2 A R x x) => + (X0 : cupicef.Term (cupicef.type s3) (R x x) => + (H0 : cupicef.Term cupicef.prop Coq__Init__Logic.False => H0) + (X X0)) + (H x))). + +thm complement__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A (complement s0 s2 s1 A R)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s2)) + (Symmetric s0 s2 A R) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (complement s0 s2 s1 A R x y) + (X : + cupicef.Term (cupicef.type s1) (complement s0 s2 s1 A R x y) => + complement s0 s2 s1 A R y x)))) + (Symmetric s0 s1 A (complement s0 s2 s1 A R)) cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s1) (complement s0 s2 s1 A R x y) => + cupicef.cast (cupicef.rule (cupicef.type s2) cupicef.prop) + (cupicef.type s1) + (cupicef.prod (cupicef.type s2) cupicef.prop + (cupicef.rule (cupicef.type s2) cupicef.prop) cupicef.I (R y x) + (X0 : cupicef.Term (cupicef.type s2) (R y x) => + Coq__Init__Logic.False)) + (complement s0 s2 s1 A R y x) cupicef.I + (X0 : cupicef.Term (cupicef.type s2) (R y x) => + (X1 : + (y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s2) (R y y0) -> + cupicef.Term (cupicef.type s2) (R y0 y)) => + (X2 : + (__ : cupicef.Term (cupicef.type s2) (R y y) -> + cupicef.Term (cupicef.type s2) (R y y)) => + (X3 : + (__ : cupicef.Term (cupicef.type s2) (R y x) -> + cupicef.Term (cupicef.type s2) (R x y)) => + (X4 : cupicef.Term (cupicef.type s2) (R x y) => + (H0 : cupicef.Term cupicef.prop Coq__Init__Logic.False => H0) + (X X4)) + (X3 X0)) + (X1 x)) + (X1 y)) + (H y))). + +def RewriteRelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS RewriteRelation. + +def Build__RewriteRelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + cupicef.Term cupicef.prop (RewriteRelation s0 s1 A RA). + +[ ] cupicef.code_guarded? _ (Build__RewriteRelation _ _ _ _) --> cupicef.guarded. + +def match____RewriteRelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type s0) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + P : + (cupicef.Term cupicef.prop (RewriteRelation s0 s1 A RA) -> cupicef.Univ s) -> + case__Build__RewriteRelation : + cupicef.Term s (P (Build__RewriteRelation s0 s1 A RA)) -> + x : cupicef.Term cupicef.prop (RewriteRelation s0 s1 A RA) -> + cupicef.Term s (P x). + +[ s0, s1, s, A, RA, P, case__Build__RewriteRelation] + match____RewriteRelation s0 s1 s A RA P case__Build__RewriteRelation + (Build__RewriteRelation s0 s1 A RA) + --> + case__Build__RewriteRelation. + +[ s0, s1, s, A, RA, P, s'] + match____RewriteRelation s0 s1 s A RA + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____RewriteRelation s0 s1 s' A RA (x => P x). + +def equivalence__rewrite__crelation : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) -> + cupicef.Term cupicef.prop (RewriteRelation s0 s1 A eqA) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + H : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A eqA) => + Build__RewriteRelation s0 s1 A eqA. + +#TYPE_CLASS_INSTANCE equivalence__rewrite__crelation. + +def eq__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A). + +#TYPE_CLASS_INSTANCE eq__Reflexive. + +def eq__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_1 A). + +#TYPE_CLASS_INSTANCE eq__Symmetric. + +def eq__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_1 A). + +#TYPE_CLASS_INSTANCE eq__Transitive. + +def eq__equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A)))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s0) + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) => + A : cupicef.Univ (cupicef.type s0) => + Build__Equivalence s0 s1 A + (cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type s0) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type s0) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (crelation s0 s1 A) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type s0)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cstr_0 A))) + (eq__Reflexive s0 s1 cstr_0 A) (eq__Symmetric s0 s1 cstr_0 cstr_1 A) + (eq__Transitive s0 s1 cstr_0 cstr_1 A). + +#TYPE_CLASS_INSTANCE eq__equivalence. + +def RewriteRelation__instance__0 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term cupicef.prop + (RewriteRelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Build__RewriteRelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + cupicef.I Coq__Program__Basics.impl). + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__0. + +def RewriteRelation__instance__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term cupicef.prop + (RewriteRelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Build__RewriteRelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + cupicef.I Coq__Init__Logic.iff). + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__1. + +def impl__Reflexive__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + x : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (Coq__Program__Basics.impl x x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + x : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop x => + H. + +def impl__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + impl__Reflexive__obligation__1 s0 s1 cstr_0. + +#TYPE_CLASS_INSTANCE impl__Reflexive. + +def impl__Transitive__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + z : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (Coq__Program__Basics.impl x y) -> + __0 : cupicef.Term cupicef.prop (Coq__Program__Basics.impl y z) -> + cupicef.Term cupicef.prop (Coq__Program__Basics.impl x z) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + z : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H0 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop z) => + H1 : cupicef.Term cupicef.prop x => + H0 (H H1). + +def impl__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Program__Basics.impl)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + impl__Transitive__obligation__1 s0 s1 cstr_0. + +#TYPE_CLASS_INSTANCE impl__Transitive. + +def iff__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Coq__Init__Logic.iff__refl. + +#TYPE_CLASS_INSTANCE iff__Reflexive. + +def iff__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Coq__Init__Logic.iff__sym. + +#TYPE_CLASS_INSTANCE iff__Symmetric. + +def iff__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Coq__Init__Logic.iff__trans. + +#TYPE_CLASS_INSTANCE iff__Transitive. + +def iff__equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Equivalence s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + cupicef.I Coq__Init__Logic.iff)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom cupicef.set) (cupicef.type s0)) => + Build__Equivalence s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (crelation s0 s1 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type s0) + (cupicef.axiom (cupicef.type s0)) cupicef.I) + cstr_0 + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + cupicef.I Coq__Init__Logic.iff) + (iff__Reflexive s0 s1 cstr_0) (iff__Symmetric s0 s1 cstr_0) + (iff__Transitive s0 s1 cstr_0). + +#TYPE_CLASS_INSTANCE iff__equivalence. + +def arrow__Reflexive__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + x : cupicef.Univ (cupicef.type s1) -> + cupicef.Term (cupicef.type s1) (arrow s1 s1 x x) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + x : cupicef.Univ (cupicef.type s1) => + X : cupicef.Term (cupicef.type s1) x => + X. + +def arrow__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (arrow s1 s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + arrow__Reflexive__obligation__1 s0 s1 cstr_0. + +#TYPE_CLASS_INSTANCE arrow__Reflexive. + +def arrow__Transitive__obligation__1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + x : cupicef.Univ (cupicef.type s1) -> + y : cupicef.Univ (cupicef.type s1) -> + z : cupicef.Univ (cupicef.type s1) -> + __ : cupicef.Term (cupicef.type s1) (arrow s1 s1 x y) -> + __0 : cupicef.Term (cupicef.type s1) (arrow s1 s1 y z) -> + cupicef.Term (cupicef.type s1) (arrow s1 s1 x z) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + x : cupicef.Univ (cupicef.type s1) => + y : cupicef.Univ (cupicef.type s1) => + z : cupicef.Univ (cupicef.type s1) => + X : + (__ : cupicef.Term (cupicef.type s1) x -> + cupicef.Term (cupicef.type s1) y) => + X0 : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) z) => + X1 : cupicef.Term (cupicef.type s1) x => + X0 (X X1). + +def arrow__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (arrow s1 s1)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + arrow__Transitive__obligation__1 s0 s1 cstr_0. + +#TYPE_CLASS_INSTANCE arrow__Transitive. + +def iffT__Reflexive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Reflexive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) (cupicef.type s1)) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) (cupicef.type s1) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) (cupicef.type s1)) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (x : cupicef.Univ (cupicef.type s1) => + Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => x)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => x)))) + (Reflexive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + cupicef.I + (x : cupicef.Univ (cupicef.type s1) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => x))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => x))) + (X : cupicef.Term (cupicef.type s1) x => X) + (X : cupicef.Term (cupicef.type s1) x => X)). + +#TYPE_CLASS_INSTANCE iffT__Reflexive. + +def iffT__Symmetric : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Symmetric s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (x : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (y : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) + (X : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) => + (X0 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 y x) X)))) + (Symmetric s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + cupicef.I + (x : cupicef.Univ (cupicef.type s1) => + y : cupicef.Univ (cupicef.type s1) => + X : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (cupicef.cast + (cupicef.rule (cupicef.type s1) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y (__ : cupicef.Term (cupicef.type s1) y => x))) + (X0 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y (__ : cupicef.Term (cupicef.type s1) y => x))) + (p : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_3 + (X0 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 y x)) + (a : + (__ : cupicef.Term (cupicef.type s1) x -> + cupicef.Term (cupicef.type s1) y) => + b : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) x) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + y (__ : cupicef.Term (cupicef.type s1) y => x))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + x (__ : cupicef.Term (cupicef.type s1) x => y))) + b a) + X). + +#TYPE_CLASS_INSTANCE iffT__Symmetric. + +def iffT__Transitive : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (Transitive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s1)) (cupicef.type s0)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s1)) + (cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (x : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))))) + cupicef.I + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (y : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + (cupicef.rule (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)))) + cupicef.I + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (z : cupicef.Univ (cupicef.type s1) => + cupicef.prod (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1))) + cupicef.I (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) + (X : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) => + cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 y z) + (X0 : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 y z) => + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.rule (cupicef.type s1) + (cupicef.type s1)) + cupicef.I z + (__ : cupicef.Term (cupicef.type s1) z => y))) => + iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x z) X0)))))) + (Transitive s0 s1 + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s1))) + (cupicef.axiom (cupicef.type s0)) + (cupicef.univ (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.axiom (cupicef.type s1))) cupicef.I) + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + cstr_0 + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I)) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2)) + cupicef.I + (x : cupicef.Univ (cupicef.type s1) => + y : cupicef.Univ (cupicef.type s1) => + z : cupicef.Univ (cupicef.type s1) => + X : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x y) => + X0 : + cupicef.Term (cupicef.type s1) + (iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 y z) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => z))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I z + (__ : cupicef.Term (cupicef.type s1) z => y))) + (cupicef.cast + (cupicef.rule (cupicef.type s1) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z (__ : cupicef.Term (cupicef.type s1) z => y))) + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z + (__ : cupicef.Term (cupicef.type s1) z => y))) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z (__ : cupicef.Term (cupicef.type s1) z => y))) + (p : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z + (__ : cupicef.Term (cupicef.type s1) z => y))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_3 + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => z)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z + (__ : cupicef.Term (cupicef.type s1) z => y))) => + iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x z)) + (a : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) z) => + b : + (__ : cupicef.Term (cupicef.type s1) z -> + cupicef.Term (cupicef.type s1) y) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + x (__ : cupicef.Term (cupicef.type s1) x => y))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) cupicef.I + y (__ : cupicef.Term (cupicef.type s1) y => x))) + (cupicef.cast + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type s1))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I)) + (cupicef.prod (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s1) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) + (p : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_3 + (X1 : + cupicef.Term (cupicef.type s1) + (Coq__Init__Datatypes.prod (cupicef.type s1) + (cupicef.type s1) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x + (__ : cupicef.Term (cupicef.type s1) x => y)) + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I y + (__ : cupicef.Term (cupicef.type s1) y => x))) => + iffT s1 s1 cstr_1 cstr_2 cstr_1 cstr_2 x z)) + (a0 : + (__ : cupicef.Term (cupicef.type s1) x -> + cupicef.Term (cupicef.type s1) y) => + b0 : + (__ : cupicef.Term (cupicef.type s1) y -> + cupicef.Term (cupicef.type s1) x) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_1 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I x (__ : cupicef.Term (cupicef.type s1) x => z))) + (cupicef.cast (cupicef.axiom (cupicef.type s1)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_2 + (cupicef.prod (cupicef.type s1) (cupicef.type s1) + (cupicef.rule (cupicef.type s1) (cupicef.type s1)) + cupicef.I z (__ : cupicef.Term (cupicef.type s1) z => x))) + (X1 : cupicef.Term (cupicef.type s1) x => + (X2 : cupicef.Term (cupicef.type s1) y => + (X3 : cupicef.Term (cupicef.type s1) x => + (X4 : cupicef.Term (cupicef.type s1) z => X4) (a X2)) + (b0 X2)) + (a0 X1)) + (X1 : cupicef.Term (cupicef.type s1) z => + (X2 : cupicef.Term (cupicef.type s1) y => + (X3 : cupicef.Term (cupicef.type s1) z => + (X4 : cupicef.Term (cupicef.type s1) x => X4) (b0 X2)) + (a X2)) + (b X1))) + X) + X0). + +#TYPE_CLASS_INSTANCE iffT__Transitive. + +def relation__equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2)))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I)))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2)))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_2 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + iffT s3 s3 cstr_4 cstr_5 cstr_4 cstr_5 (R x y) (R_27_ x y)))). + +def RewriteRelation__instance__2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term cupicef.prop + (RewriteRelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 A)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + Build__RewriteRelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 A). + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__2. + +def relation__conjunction : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) -> + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) => + cstr_3 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))) + cupicef.I (crelation s0 s2 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.univ + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.axiom + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + cupicef.I)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I (crelation s0 s2 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + crelation s0 s3 A)))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_2 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_0 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s1) (cupicef.type s2) ( + R x y) (R_27_ x y)). + +def relation__disjunction : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s3)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) -> + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) -> + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : cupicef.eps (cupicef.Cumul cupicef.set (cupicef.type s3)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s1) (cupicef.type s3)) => + cstr_2 : + cupicef.eps + (cupicef.Cumul (cupicef.type s1) (cupicef.type (cupicef.s cupicef.z))) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s2) (cupicef.type s3)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s2) (cupicef.type (cupicef.s cupicef.z))) => + cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))))) + cupicef.I (crelation s0 s2 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + (cupicef.rule (cupicef.type s0) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.univ + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2))) + (cupicef.axiom + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type s1) (cupicef.type s2)))) + cupicef.I)))))) + (cupicef.prod (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))))) + (cupicef.rule (cupicef.axiom (cupicef.type s0)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))))) + cupicef.I + (cupicef.univ (cupicef.type s0) (cupicef.axiom (cupicef.type s0)) + cupicef.I) + (A : cupicef.Univ (cupicef.type s0) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))))) + cupicef.I (crelation s0 s1 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I (crelation s0 s2 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + crelation s0 s3 A)))) + (cupicef.pair + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s2) (cupicef.type s3))) + cstr_3 + (cupicef.BoolSome (cupicef.Cumul (cupicef.type s1) (cupicef.type s3))) + cstr_1 cupicef.BoolNone) + (A : cupicef.Univ (cupicef.type s0) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s1))) + (crelation s0 s1 A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s2))) + (crelation s0 s2 A) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.sum (cupicef.type s1) (cupicef.type s2) (R x y) + (R_27_ x y)). + +def let__X : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0)))) -> + X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0)))) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0)))) => + X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0)))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X x0 y0. + +def let__X0 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0)))) -> + X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0)))) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0)))) => + X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) cupicef.I + (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0)))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X0 x0 y0. + +thm relation__equivalence__equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (Equivalence s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 A)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_4 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + Build__Equivalence s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 A) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2)) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2)) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 + cstr_4 cstr_5 A x x)) + (Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 + cstr_4 cstr_5 A)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y) + (__ : cupicef.Term (cupicef.type s3) (x x0 y) => + x x0 y)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y) + (__ : cupicef.Term (cupicef.type s3) (x x0 y) => + x x0 y)))))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.type s2)) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 + cstr_4 cstr_5 A x x)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y) + (__ : cupicef.Term (cupicef.type s3) (x x0 y) => x x0 y))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y) + (__ : cupicef.Term (cupicef.type s3) (x x0 y) => x x0 y))) + (X : cupicef.Term (cupicef.type s3) (x x0 y) => X) + (X : cupicef.Term (cupicef.type s3) (x x0 y) => X)))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A x y) + (__ : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A x y) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A y x)))) + (Symmetric s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 + cstr_4 cstr_5 A)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))))) + (X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0)))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)))))))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A x y) + (__ : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x y) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A y x)))) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0)))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => x x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => y x0 y0))) + (X0 : cupicef.Term (cupicef.type s3) (y x0 y0) => + (X1 : + (y1 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y1) + (__ : cupicef.Term (cupicef.type s3) (x x0 y1) => + y x0 y1)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y1) + (__ : cupicef.Term (cupicef.type s3) (y x0 y1) => + x x0 y1)))) => + (X2 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (X3 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (p : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_6 + (X3 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + x x0 y0)) + (a : + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) -> + cupicef.Term (cupicef.type s3) (y x0 y0)) => + b : + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) -> + cupicef.Term (cupicef.type s3) (x x0 y0)) => + (X3 : cupicef.Term (cupicef.type s3) (x x0 y0) => X3) + (b X0)) + X2) + (X1 y0)) + (X x0)) + (X0 : cupicef.Term (cupicef.type s3) (x x0 y0) => + (X1 : + (y1 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y1) + (__ : cupicef.Term (cupicef.type s3) (x x0 y1) => + y x0 y1)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y1) + (__ : cupicef.Term (cupicef.type s3) (y x0 y1) => + x x0 y1)))) => + (X2 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (X3 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (p : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_6 + (X3 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + y x0 y0)) + (a : + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) -> + cupicef.Term (cupicef.type s3) (y x0 y0)) => + b : + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) -> + cupicef.Term (cupicef.type s3) (x x0 y0)) => + (X3 : cupicef.Term (cupicef.type s3) (y x0 y0) => X3) + (a X0)) + X2) + (X1 y0)) + (X x0))))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I (crelation s0 s3 A) + (z : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 + cstr_3 cstr_4 cstr_5 A x y) + (__ : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x y) => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A y z) + (__0 : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A y z) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x z)))))) + (Transitive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 + cstr_4 cstr_5 A)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))))))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))))))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))))) + cupicef.I (crelation s0 s3 A) + (z : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s3) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0))))) + (X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + x x0 y0)))) => + cupicef.prod + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)))) + cupicef.I + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type s3) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (z x0 y0) => + y x0 y0))))) + (X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (z x0 y0) => + y x0 y0)))) => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.type s3) + (cupicef.rule (cupicef.type s0) + (cupicef.type s3)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + (X1 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod + (cupicef.type s3) (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (z x0 y0) => + y x0 y0))) => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (x x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : + cupicef.Term (cupicef.type s3) + (z x0 y0) => + x x0 y0))) + (X0 x0 y0))))))))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)))) + cupicef.I (crelation s0 s3 A) + (z : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + (cupicef.rule (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2))) + cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x y) + (__ : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x y) => + cupicef.prod (cupicef.type s2) (cupicef.type s2) + (cupicef.rule (cupicef.type s2) (cupicef.type s2)) + cupicef.I + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A y z) + (__0 : + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 + cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 A y z) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_1 + cstr_2 cstr_3 cstr_4 cstr_5 A x z)))))) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + X : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0)))) => + X0 : + (x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0)))) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => z x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => y x0 y0))) + (cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0))) + (X1 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0))) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0))) + (p : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_6 + (X1 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + y x0 y0))) => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + x x0 y0)))) + (a : + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) -> + cupicef.Term (cupicef.type s3) (z x0 y0)) => + b : + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) -> + cupicef.Term (cupicef.type s3) (y x0 y0)) => + Coq__Init__Datatypes.prod__rect + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (cupicef.cast + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type s3))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (X1 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + (cupicef.prod (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type s3) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) + (p : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : + cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cstr_6 + (X1 : + cupicef.Term (cupicef.type s3) + (Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + y x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) + (cupicef.type s3)) + cupicef.I (y x0 y0) + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) => + x x0 y0))) => + Coq__Init__Datatypes.prod (cupicef.type s3) + (cupicef.type s3) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + z x0 y0)) + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + x x0 y0)))) + (a0 : + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) -> + cupicef.Term (cupicef.type s3) (y x0 y0)) => + b0 : + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) -> + cupicef.Term (cupicef.type s3) (x x0 y0)) => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_4 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (__ : cupicef.Term (cupicef.type s3) (x x0 y0) => + z x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (z x0 y0) + (__ : cupicef.Term (cupicef.type s3) (z x0 y0) => + x x0 y0))) + (X1 : cupicef.Term (cupicef.type s3) (x x0 y0) => + (X2 : cupicef.Term (cupicef.type s3) (y x0 y0) => + (X3 : cupicef.Term (cupicef.type s3) (x x0 y0) => + (X4 : cupicef.Term (cupicef.type s3) (z x0 y0) => X4) + (a X2)) + (b0 X2)) + (a0 X1)) + (X1 : cupicef.Term (cupicef.type s3) (z x0 y0) => + (X2 : cupicef.Term (cupicef.type s3) (y x0 y0) => + (X3 : cupicef.Term (cupicef.type s3) (z x0 y0) => + (X4 : cupicef.Term (cupicef.type s3) (x x0 y0) => X4) + (b0 X2)) + (a X2)) + (b X1))) + (let__X s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 cstr_6 A x y z X X0 x0 y0)) + (let__X0 s0 s1 s2 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A x y z X X0 x0 y0)))). + +#TYPE_CLASS_INSTANCE relation__equivalence__equivalence. + +thm relation__implication__preorder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + A : cupicef.Univ (cupicef.type s0) -> + cupicef.Term (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (PreOrder s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I))) + (crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_2 cupicef.BoolNone) + (subrelation s0 s3 s3 A))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + A : cupicef.Univ (cupicef.type s0) => + Build__PreOrder s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) (cupicef.axiom (cupicef.type s1)) + cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.sup (cupicef.type s1) (cupicef.axiom (cupicef.type s2))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.univ (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I))) + (crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_2 cupicef.BoolNone) + (subrelation s0 s3 s3 A)) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + subrelation s0 s3 s3 A x x)) + (Reflexive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I))) + (crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_2 cupicef.BoolNone) + (subrelation s0 s3 s3 A))) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y) + (X : cupicef.Term (cupicef.type s3) (x x0 y) => x x0 y)))) + (subrelation s0 s3 s3 A x x) cupicef.I + (x0 : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s3) (x x0 y) => + X))) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))))) + (cupicef.sup (cupicef.type s1) (cupicef.type s2)) + (cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))))) + cupicef.I (crelation s0 s3 A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))))) + cupicef.I (crelation s0 s3 A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (z : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (subrelation s0 s3 s3 A x y) + (X : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (subrelation s0 s3 s3 A x y) => + cupicef.prod + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.rule + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I (subrelation s0 s3 s3 A y z) + (X0 : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (subrelation s0 s3 s3 A y z) => + subrelation s0 s3 s3 A x z)))))) + (Transitive s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A)) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + (cupicef.sup (cupicef.type s1) + (cupicef.axiom (cupicef.type s2))) + (cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))))) + cupicef.I (crelation s0 s3 A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.prod + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + (cupicef.rule + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3)))) + cupicef.I (crelation s0 s3 A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + cupicef.univ + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) (cupicef.type s3))) + cupicef.I))) + (crelation s1 s2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + (cupicef.axiom (cupicef.type s1)) + (cupicef.univ + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom + (cupicef.sup (cupicef.type s0) + (cupicef.axiom (cupicef.type s3)))) + cupicef.I) + (cupicef.univ (cupicef.type s1) + (cupicef.axiom (cupicef.type s1)) cupicef.I) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s1))) + cstr_1 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) + (cupicef.type s1))) + cstr_0 cupicef.BoolNone) + (crelation s0 s3 A))) + (cupicef.pair + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s3) (cupicef.type s2))) + cstr_3 + (cupicef.BoolSome + (cupicef.Cumul (cupicef.type s0) (cupicef.type s2))) + cstr_2 cupicef.BoolNone) + (subrelation s0 s3 s3 A))) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + z : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + X : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (subrelation s0 s3 s3 A x y) => + X0 : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (subrelation s0 s3 s3 A y z) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)))) + (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s3) (cupicef.type s3))) + cupicef.I A + (y0 : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s3) (cupicef.type s3) + (cupicef.rule (cupicef.type s3) (cupicef.type s3)) + cupicef.I (x x0 y0) + (X1 : cupicef.Term (cupicef.type s3) (x x0 y0) => z x0 y0)))) + (subrelation s0 s3 s3 A x z) cupicef.I + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + X1 : cupicef.Term (cupicef.type s3) (x x0 y0) => + (X2 : + (y1 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s3) (y x0 y1) -> + cupicef.Term (cupicef.type s3) (z x0 y1)) => + (X3 : + (__ : cupicef.Term (cupicef.type s3) (y x0 y0) -> + cupicef.Term (cupicef.type s3) (z x0 y0)) => + (X4 : + (y1 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s3) (x x0 y1) -> + cupicef.Term (cupicef.type s3) (y x0 y1)) => + X0 x0 y0 (X x0 y0 X1)) (X x0)) (X2 y0)) + (X0 x0)))). + +#TYPE_CLASS_INSTANCE relation__implication__preorder. + +def PartialOrder : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Equivalence s0 s3 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (PreOrder s0 s3 A R) -> + cupicef.Univ (cupicef.type s2) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Equivalence s0 s3 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (PreOrder s0 s3 A R) => + relation__equivalence s0 s1 s2 s3 cstr_0 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA + (relation__conjunction s0 s3 s3 s3 cupicef.I cstr_5 cupicef.I cstr_6 A R + (flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R)). + +#TYPE_CLASS PartialOrder. + +def partial__order__equivalence : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Equivalence s0 s3 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (PreOrder s0 s3 A R) -> + PartialOrder0 : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + cupicef.Term (cupicef.type s2) + (relation__equivalence s0 s1 s2 s3 cstr_0 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA + (relation__conjunction s0 s3 s3 s3 cupicef.I cstr_5 cupicef.I cstr_6 A + R + (flip s0 s0 s4 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + (cupicef.axiom (cupicef.type s4)) + (cupicef.univ (cupicef.axiom (cupicef.type s3)) + (cupicef.axiom (cupicef.axiom (cupicef.type s3))) + cupicef.I) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I)) + R))) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s3)) (cupicef.type s4)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s3) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s3) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (Equivalence s0 s3 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s3))) + (crelation s0 s3 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s3)) + (PreOrder s0 s3 A R) => + PartialOrder0 : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + PartialOrder0. + +def let__X1 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) -> + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + X : cupicef.Term (cupicef.type s4) (R x y) -> + X0 : cupicef.Term (cupicef.type s4) (R y x) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 A + R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) -> + cupicef.Term (cupicef.type s4) (eqA x0 y0) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) => + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R x y) => + X0 : cupicef.Term (cupicef.type s4) (R y x) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.match____prod (cupicef.type s4) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 + A R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__0 : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0)) + (__ : + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) -> + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) => + __0 : + (__0 : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) -> + cupicef.Term (cupicef.type s4) (eqA x0 y0)) => + __0) + (H x0 y0). + +thm partial__order__antisym : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) -> + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Antisymmetric s0 s4 s4 A eqA equ R) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) => + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))))) + (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)))) + cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4))) + cupicef.I (R x y) + (X : cupicef.Term (cupicef.type s4) (R x y) => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (R y x) + (X0 : cupicef.Term (cupicef.type s4) (R y x) => eqA x y))))) + (Antisymmetric s0 s4 s4 A eqA equ R) cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (R x y) => + X0 : cupicef.Term (cupicef.type s4) (R y x) => + let__X1 s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 cstr_6 + A eqA equ R preo H x y X X0 x y + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 (R x y)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R x y)) + X X0)). + +#TYPE_CLASS_INSTANCE partial__order__antisym. + +def let__X2 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) -> + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + X : cupicef.Term (cupicef.type s4) (eqA x y) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : cupicef.Term (cupicef.type s4) (eqA x0 y0) -> + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) => + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : cupicef.Term (cupicef.type s4) (eqA x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.match____prod (cupicef.type s4) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__0 : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 + A R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) + (__ : + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) -> + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) => + __0 : + (__0 : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) -> + cupicef.Term (cupicef.type s4) (eqA x0 y0)) => + __) + (H x0 y0). + +def let__X3 : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) -> + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + x : cupicef.Term (cupicef.type s0) A -> + y : cupicef.Term (cupicef.type s0) A -> + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) ( + R y x) (R x y)) -> + H1 : cupicef.Term (cupicef.type s4) (R y x) -> + H2 : cupicef.Term (cupicef.type s4) (R x y) -> + x0 : cupicef.Term (cupicef.type s0) A -> + y0 : cupicef.Term (cupicef.type s0) A -> + __ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 A + R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) -> + cupicef.Term (cupicef.type s4) (eqA x0 y0) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) => + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) ( + R y x) (R x y)) => + H1 : cupicef.Term (cupicef.type s4) (R y x) => + H2 : cupicef.Term (cupicef.type s4) (R x y) => + x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.match____prod (cupicef.type s4) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) + (__ : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x0 y0) + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0))) => + cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I cstr_6 + A R + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) + (__0 : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) => + eqA x0 y0)) + (__ : + (__ : cupicef.Term (cupicef.type s4) (eqA x0 y0) -> + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0)) => + __0 : + (__0 : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + x0 y0) -> + cupicef.Term (cupicef.type s4) (eqA x0 y0)) => + __0) + (H x0 y0). + +thm PartialOrder__inverse : + s0 : cupicef.Nat -> + s1 : cupicef.Nat -> + s2 : cupicef.Nat -> + s3 : cupicef.Nat -> + s4 : cupicef.Nat -> + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) -> + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) -> + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) -> + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) -> + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) -> + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) -> + A : cupicef.Univ (cupicef.type s0) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) -> + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) -> + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) -> + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (flip__PreOrder s0 s4 s3 cstr_1 A R preo)) + +:= s0 : cupicef.Nat => + s1 : cupicef.Nat => + s2 : cupicef.Nat => + s3 : cupicef.Nat => + s4 : cupicef.Nat => + cstr_0 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s1)) => + cstr_1 : + cupicef.eps + (cupicef.Cumul (cupicef.axiom (cupicef.type s4)) (cupicef.type s3)) => + cstr_2 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s1)) => + cstr_3 : cupicef.eps (cupicef.Cumul (cupicef.type s0) (cupicef.type s2)) => + cstr_4 : cupicef.eps (cupicef.Cumul (cupicef.type s4) (cupicef.type s2)) => + cstr_5 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + cstr_6 : + cupicef.eps + (cupicef.Cumul (cupicef.type s4) (cupicef.type (cupicef.s cupicef.z))) => + A : cupicef.Univ (cupicef.type s0) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + equ : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (Equivalence s0 s4 A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type s0) (cupicef.axiom (cupicef.type s4))) + (crelation s0 s4 A) => + preo : + cupicef.Term (cupicef.sup (cupicef.type s0) (cupicef.type s4)) + (PreOrder s0 s4 A R) => + H : + cupicef.Term (cupicef.type s2) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo) => + cupicef.cast + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s4))) + (cupicef.type s2) + (cupicef.prod (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s4)) + (cupicef.rule (cupicef.type s0) + (cupicef.rule (cupicef.type s0) (cupicef.type s4))) + cupicef.I A + (x : cupicef.Term (cupicef.type s0) A => + cupicef.prod (cupicef.type s0) (cupicef.type s4) + (cupicef.rule (cupicef.type s0) (cupicef.type s4)) cupicef.I A + (y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s4) (eqA x y) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) => + eqA x y))))) + (PartialOrder s0 s1 s2 s4 s3 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ + (flip s0 s0 s3 A A + (cupicef.cast (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + (flip__PreOrder s0 s4 s3 cstr_1 A R preo)) + cupicef.I + (x : cupicef.Term (cupicef.type s0) A => + y : cupicef.Term (cupicef.type s0) A => + Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_5 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s4) (eqA x y) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y))) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) (cupicef.axiom (cupicef.type s4)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cstr_6 + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) => + eqA x y))) + (cupicef.cast (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (X : cupicef.Term (cupicef.type s4) (eqA x y) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A R + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + R) + y x)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (eqA x y) + (__ : cupicef.Term (cupicef.type s4) (eqA x y) => + relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y)) + cupicef.I + (X : cupicef.Term (cupicef.type s4) (eqA x y) => + let__X2 s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 cstr_5 + cstr_6 A eqA equ R preo H x y X y x + (symmetry s0 s4 A eqA (Equivalence__Symmetric s0 s4 A eqA equ) + x y X))) + (cupicef.cast (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R x0 y0) + x y) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R x0 y0) + x y) => + eqA x y)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 cupicef.I + cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I)) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0)) + x y) => + eqA x y)) + cupicef.I + (cupicef.cast (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y x) (R x y)) + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y x) (R x y)) => + eqA x y)) + (cupicef.prod (cupicef.type s4) (cupicef.type s4) + (cupicef.rule (cupicef.type s4) (cupicef.type s4)) cupicef.I + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R x0 y0) + x y) + (__ : + cupicef.Term (cupicef.type s4) + (relation__conjunction s0 s4 s4 s4 cupicef.I cstr_5 + cupicef.I cstr_6 A + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R y0 x0) + (x0 : cupicef.Term (cupicef.type s0) A => + y0 : cupicef.Term (cupicef.type s0) A => + R x0 y0) + x y) => + eqA x y)) + cupicef.I + (X : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y x) (R x y)) => + Coq__Init__Datatypes.match____prod (cupicef.type s4) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 (R y x)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 (R x y)) + (p : + cupicef.Term (cupicef.type s4) + (Coq__Init__Datatypes.prod (cupicef.type s4) + (cupicef.type s4) (R y x) (R x y)) => + eqA x y) + (H1 : cupicef.Term (cupicef.type s4) (R y x) => + H2 : cupicef.Term (cupicef.type s4) (R x y) => + let__X3 s0 s1 s2 s3 s4 cstr_0 cstr_1 cstr_2 cstr_3 cstr_4 + cstr_5 cstr_6 A eqA equ R preo H x y X H1 H2 x y + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_5 (R x y)) + (cupicef.cast (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cstr_6 + (flip s0 s0 s3 A A + (cupicef.cast + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + (cupicef.axiom (cupicef.type s3)) + (cupicef.univ + (cupicef.axiom (cupicef.type s4)) + (cupicef.axiom + (cupicef.axiom (cupicef.type s4))) + cupicef.I) + (cupicef.univ (cupicef.type s3) + (cupicef.axiom (cupicef.type s3)) + cupicef.I) + cstr_1 + (cupicef.univ (cupicef.type s4) + (cupicef.axiom (cupicef.type s4)) + cupicef.I)) + R x y)) + H2 H1)) + X)))). + +(; End of translation. ;) diff --git a/out/Coq__Classes__Equivalence.dk b/out/Coq__Classes__Equivalence.dk new file mode 100644 index 000000000..2318839a3 --- /dev/null +++ b/out/Coq__Classes__Equivalence.dk @@ -0,0 +1,5430 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def equiv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + R. + +def pequiv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R. + +def equiv__reflexive__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (equiv A R sa x x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.match____Equivalence cupicef.prop A R + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + R x x) + (Equivalence__Reflexive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive A R) => + Equivalence__Symmetric : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric A R) => + Equivalence__Transitive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R) => + Equivalence__Reflexive x) + sa. + +def equiv__reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive A (equiv A R sa)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + sa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + equiv__reflexive__obligation__1 A0 R0 sa0 x) A R sa. + +#TYPE_CLASS_INSTANCE equiv__reflexive. + +def equiv__symmetric__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (equiv A R sa x y) -> + cupicef.Term cupicef.prop (equiv A R sa y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (equiv A R sa x y) => + Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.Equivalence__Symmetric A R sa) x y H. + +def equiv__symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric A (equiv A R sa)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + sa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + H : cupicef.Term cupicef.prop (equiv A0 R0 sa0 x y) => + equiv__symmetric__obligation__1 A0 R0 sa0 x y H) A R sa. + +#TYPE_CLASS_INSTANCE equiv__symmetric. + +thm equiv__transitive__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxy : cupicef.Term cupicef.prop (equiv A R sa x y) -> + Hyz : cupicef.Term cupicef.prop (equiv A R sa y z) -> + cupicef.Term cupicef.prop (equiv A R sa x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxy : cupicef.Term cupicef.prop (equiv A R sa x y) => + Hyz : cupicef.Term cupicef.prop (equiv A R sa y z) => + Coq__Classes__RelationClasses.transitivity A (equiv A R sa) + (Coq__Classes__RelationClasses.Equivalence__Transitive A (equiv A R sa) + sa) + x y z Hxy Hyz. + +def equiv__transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + sa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A (equiv A R sa)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + sa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + sa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A0 => + Hxy : cupicef.Term cupicef.prop (equiv A0 R0 sa0 x y) => + Hyz : cupicef.Term cupicef.prop (equiv A0 R0 sa0 y z) => + equiv__transitive__obligation__1 A0 R0 sa0 x y z Hxy Hyz) A R sa. + +#TYPE_CLASS_INSTANCE equiv__transitive. + +def respecting : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) cupicef.I R)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) + (Coq__Relations__Relation__Definitions.relation B) cupicef.I + R_27_)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))))))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))))) + cupicef.I + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) + cupicef.I R)) + (eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) + cupicef.I R)) => + cupicef.prod + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))))) + cupicef.I + (Coq__Relations__Relation__Definitions.relation B) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + cupicef.prod cupicef.prop + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + B) + (Coq__Relations__Relation__Definitions.relation + B) + cupicef.I R_27_)) + (eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + B) + (Coq__Relations__Relation__Definitions.relation + B) + cupicef.I R_27_)) => + cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I))))))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))) + cupicef.I + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) + cupicef.I R)) + (eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) + cupicef.I R)) => + cupicef.prod + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (Coq__Relations__Relation__Definitions.relation B) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + B) + (Coq__Relations__Relation__Definitions.relation + B) + cupicef.I R_27_)) + (eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + B) + (Coq__Relations__Relation__Definitions.relation + B) + cupicef.I R_27_)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))))))) + cupicef.I + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + (Coq__Relations__Relation__Definitions.relation A) cupicef.I + R)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B + (cupicef.cast + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) + (Coq__Relations__Relation__Definitions.relation B) cupicef.I + R_27_)) => + Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)). + +def respecting__equiv__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + eqa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive (respecting A R eqa B R_27_ eqb) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g y)))))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (R x0 y) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + s y)) + (x1 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ x1 x1) => + H0 x0 y H) + x. + +def respecting__equiv__obligation__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + eqa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric (respecting A R eqa B R_27_ eqb) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g y)))))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + H : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + x x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + y y0))) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R x1 y1) + (__ : cupicef.Term cupicef.prop (R x1 y1) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + x x1) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s y1))))) + (H1 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y1) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + x x1) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s y1))) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + x y0))) + (y1 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ y1 y1) => + H2 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y2) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + x x1) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + y1 H1) + y2))) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x1 y2) + (__ : cupicef.Term cupicef.prop (R x1 y2) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s x1) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + y1 H1) + y2))))) + (H3 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y2) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s x1) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + y1 H1) + y2))) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + y1 H1) + x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + s y0))) + (x1 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H3 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ x1 x1) => + H4 : + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x2 y2) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + x1 H3) + x2) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + y1 H1) + y2))) => + Coq__Classes__RelationClasses.match____Equivalence cupicef.prop A R + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + R_27_ (y1 x0) (x1 y0)) + (Equivalence__Reflexive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive A R) => + Equivalence__Symmetric : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric A R) => + Equivalence__Transitive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R) => + Coq__Classes__RelationClasses.match____Equivalence cupicef.prop B + R_27_ + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + R_27_ (y1 x0) (x1 y0)) + (Equivalence__Reflexive0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive B R_27_) => + Equivalence__Symmetric0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B R_27_) => + Equivalence__Transitive0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive B R_27_) => + Equivalence__Symmetric0 (x1 y0) (y1 x0) + (H4 y0 x0 (Equivalence__Symmetric x0 y0 H0))) + eqb) + eqa) + x H2) + y H. + +thm respecting__equiv__obligation__3 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + eqa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive + (respecting A R eqa B R_27_ eqb) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g y)))))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + h : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + g y))) => + H_27_ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + g x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + h y))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Rxy : cupicef.Term cupicef.prop (R x y) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R x0 y0) + (__ : cupicef.Term cupicef.prop (R x0 y0) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s y0))))) + (H_27_0 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s y0))) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + s y))) + (h0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ h0 h0) => + H_27_0 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + g x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + h0 H0) + y0))) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x0 y0) + (__ : cupicef.Term cupicef.prop (R x0 y0) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + f x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s y0))))) + (H1 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s y0))) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x0 y0) + (__ : cupicef.Term cupicef.prop (R x0 y0) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R + R_27_ morph morph) + h0 H0) + y0))))) + (H_27_1 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + h0 H0) + y0))) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + h0 H0) + y)))) + (g0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ g0 g0) => + H2 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g0 H1) + y0))) => + H_27_1 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g0 H1) + x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + h0 H0) + y0))) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph morph) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sig + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x0 y0) + (__ : cupicef.Term cupicef.prop (R x0 y0) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R + R_27_ morph morph) + g0 H1) + y0))))) + (H3 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + s x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + g0 H1) + y0))) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + s x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + h0 H0) + y))) + (f0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H3 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful A B R R_27_ f0 f0) => + H4 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop + (R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + f0 H3) + x0) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + (Coq__Init__Specif.exist + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ + morph morph) + g0 H1) + y0))) => + Coq__Classes__RelationClasses.transitivity B R_27_ + (Coq__Classes__RelationClasses.Equivalence__Transitive B R_27_ + eqb) + (f0 x) (g0 y) (h0 y) (H4 x y Rxy) + (Coq__Classes__RelationClasses.match____Equivalence + cupicef.prop B R_27_ + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + R_27_ (g0 y) (h0 y)) + (Equivalence__Reflexive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive B R_27_) => + Equivalence__Symmetric : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B R_27_) => + Equivalence__Transitive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive B R_27_) => + Coq__Classes__RelationClasses.match____Equivalence + cupicef.prop A R + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + R_27_ (g0 y) (h0 y)) + (Equivalence__Reflexive0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive A R) => + Equivalence__Symmetric0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric A R) => + Equivalence__Transitive0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R) => + H_27_1 y y (Equivalence__Reflexive0 y)) + eqa) + eqb)) + f H2) + g H H_27_0) + h H_27_. + +def respecting__equiv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + eqa : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence + (respecting A R eqa B R_27_ eqb) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g y)))))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + eqa : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B R_27_) => + Coq__Classes__RelationClasses.Build__Equivalence + (respecting A R eqa B R_27_ eqb) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + g : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (respecting A R eqa B R_27_ eqb) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + R_27_ + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + f x) + (Coq__Init__Specif.proj1__sig + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (morph : + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.respectful A B R R_27_ morph + morph) + g y))))) + ((A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + eqa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + B0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B0) => + eqb0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B0 R_27_0) => + respecting__equiv__obligation__1 A0 R0 eqa0 B0 R_27_0 eqb0) A R eqa B + R_27_ eqb) + ((A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + eqa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + B0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B0) => + eqb0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B0 R_27_0) => + respecting__equiv__obligation__2 A0 R0 eqa0 B0 R_27_0 eqb0) A R eqa B + R_27_ eqb) + ((A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A0) => + eqa0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A0 R0) => + B0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B0) => + eqb0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B0 R_27_0) => + respecting__equiv__obligation__3 A0 R0 eqa0 B0 R_27_0 eqb0) A R eqa B + R_27_ eqb). + +thm pointwise__reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + reflb : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive B eqB) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + reflb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive B eqB) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Classes__Morphisms.pointwise__relation A B eqB x x)) + (Coq__Classes__RelationClasses.Reflexive + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eqB (x a) (x a))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB x x) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H : cupicef.Term cupicef.prop (eqB (x a) (x a)) => H) (reflb (x a)))). + +#TYPE_CLASS_INSTANCE pointwise__reflexive. + +thm pointwise__symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + symb : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric B eqB) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + symb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B eqB) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__Morphisms.pointwise__relation A B eqB x y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB x y) => + Coq__Classes__Morphisms.pointwise__relation A B eqB y x)))) + (Coq__Classes__RelationClasses.Symmetric + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eqB (y a) (x a))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB y x) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H0 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (eqB (x a) y0) -> + cupicef.Term cupicef.prop (eqB y0 (x a))) => + (H1 : cupicef.Term cupicef.prop (eqB (x a) (y a)) => + (H2 : + (__ : cupicef.Term cupicef.prop (eqB (x a) (y a)) -> + cupicef.Term cupicef.prop (eqB (y a) (x a))) => + (H3 : cupicef.Term cupicef.prop (eqB (y a) (x a)) => H3) (H2 H1)) + (H0 (y a))) + (H a)) + (symb (x a)))). + +#TYPE_CLASS_INSTANCE pointwise__symmetric. + +thm pointwise__transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + transb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive B eqB) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + transb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive B eqB) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (z : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Classes__Morphisms.pointwise__relation A B eqB x y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB x + y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__Morphisms.pointwise__relation A B eqB y z) + (H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB + y z) => + Coq__Classes__Morphisms.pointwise__relation A B eqB x z)))))) + (Coq__Classes__RelationClasses.Transitive + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + z : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A B eqB y z) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eqB (x a) (z a))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB x z) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H1 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (eqB (x a) y0) -> + __0 : cupicef.Term cupicef.prop (eqB y0 z0) -> + cupicef.Term cupicef.prop (eqB (x a) z0)) => + (H2 : cupicef.Term cupicef.prop (eqB (x a) (y a)) => + (H3 : + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (eqB (x a) (y a)) -> + __0 : cupicef.Term cupicef.prop (eqB (y a) z0) -> + cupicef.Term cupicef.prop (eqB (x a) z0)) => + H3 (z a) H2 (H0 a)) (H1 (y a))) (H a)) + (transb (x a)))). + +#TYPE_CLASS_INSTANCE pointwise__transitive. + +thm pointwise__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B eqB) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + eqb : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence B eqB) => + Coq__Classes__RelationClasses.Build__Equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (Coq__Classes__Morphisms.pointwise__relation A B eqB) + (pointwise__reflexive A B eqB + (Coq__Classes__RelationClasses.Equivalence__Reflexive B eqB eqb)) + (pointwise__symmetric A B eqB + (Coq__Classes__RelationClasses.Equivalence__Symmetric B eqB eqb)) + (pointwise__transitive A B eqB + (Coq__Classes__RelationClasses.Equivalence__Transitive B eqB eqb)). + +#TYPE_CLASS_INSTANCE pointwise__equivalence. + +(; End of translation. ;) diff --git a/out/Coq__Classes__Init.dk b/out/Coq__Classes__Init.dk new file mode 100644 index 000000000..fe250f765 --- /dev/null +++ b/out/Coq__Classes__Init.dk @@ -0,0 +1,30 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Unconvertible : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Datatypes.unit. + +#TYPE_CLASS Unconvertible. + +def unconvertible : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Unconvertible0 : cupicef.Term cupicef.set (Unconvertible A a b) -> + cupicef.Term cupicef.set Coq__Init__Datatypes.unit + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Unconvertible0 : cupicef.Term cupicef.set (Unconvertible A a b) => + Unconvertible0. + +(; End of translation. ;) diff --git a/out/Coq__Classes__Morphisms.dk b/out/Coq__Classes__Morphisms.dk new file mode 100644 index 000000000..263b34a1b --- /dev/null +++ b/out/Coq__Classes__Morphisms.dk @@ -0,0 +1,20641 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def let__U : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def Proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) let__U => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R m m. + +#TYPE_CLASS Proper. + +def let__U0 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def proper__prf : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Proper0 : cupicef.Term cupicef.prop (Proper A R m) -> + cupicef.Term cupicef.prop (R m m) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U0 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Proper0 : cupicef.Term cupicef.prop (Proper A R m) => + Proper0. + +def let__U1 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def ProperProxy : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U1 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R m m. + +#TYPE_CLASS ProperProxy. + +def let__U2 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def proper__proxy : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + ProperProxy0 : cupicef.Term cupicef.prop (ProperProxy A R m) -> + cupicef.Term cupicef.prop (R m m) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U2 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ProperProxy0 : cupicef.Term cupicef.prop (ProperProxy A R m) => + ProperProxy0. + +def let__U3 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm eq__proper__proxy : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (ProperProxy A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + x) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U3 => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U3 + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x. + +def let__U4 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm reflexive__proper__proxy : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (ProperProxy A R x) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U4 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H0 : cupicef.Term cupicef.prop (R x x) => H0) (H x). + +def let__U5 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm proper__proper__proxy : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Proper A R x) -> + cupicef.Term cupicef.prop (ProperProxy A R x) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U5 => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Proper A R x) => + H. + +def respectful__hetero : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + D : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + R_27_ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (C x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (D y) -> + cupicef.Univ cupicef.prop) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (C x)) -> + __0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (D x)) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + D : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + R_27_ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (C x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (D y) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (C x)) => + g : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (D x)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I B + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R_27_ x y (f x) (g y)))). + +def let__U6 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def respectful : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U6 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U6 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + g : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R_27_ (f x) (g y)))). + +def let__U7 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def forall__def : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U7 => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U7) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x). + +def let__U8 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def forall__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + sig : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P a))) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U8 => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U8) => + sig : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P a))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + g : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig a (f a) (g a)). + +def let__U9 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def pointwise__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U9 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U9 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + g : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R (f a) (g a)). + +def let__U10 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm pointwise__pointwise : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (pointwise__relation A B R) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U10 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U10 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (pointwise__relation A B R x x0) + (__ : cupicef.Term cupicef.prop (pointwise__relation A B R x x0) => + respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) + (__ : + cupicef.Term cupicef.prop + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) => + pointwise__relation A B R x x0)) + (cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I (pointwise__relation A B R x x0) + (H : cupicef.Term cupicef.prop (pointwise__relation A B R x x0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x1 y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x1 y) => + (x2 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R (x x2) (x0 y)) x1))))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (pointwise__relation A B R x x0) + (__ : cupicef.Term cupicef.prop (pointwise__relation A B R x x0) => + respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0)) + cupicef.I + (H : cupicef.Term cupicef.prop (pointwise__relation A B R x x0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x1 y) => + Coq__Init__Logic.eq__ind__r A y + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R (x x2) (x0 y)) + ((H1 : cupicef.Term cupicef.prop (R (x y) (x0 y)) => H1) (H y)) x1 + H0)) + (cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) + (H : + cupicef.Term cupicef.prop + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R (x a) (x0 a)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) + (__ : + cupicef.Term cupicef.prop + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) => + pointwise__relation A B R x x0)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R x x0) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) -> + cupicef.Term cupicef.prop (R (x a) (x0 y))) => + (H1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a) -> + cupicef.Term cupicef.prop (R (x a) (x0 a))) => + (H2 : cupicef.Term cupicef.prop (R (x a) (x0 a)) => H2) + (H1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U10 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a))) + (H0 a)) + (H a))). + +def let__U11 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm subrelation__id__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A RA RA_27_) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => A)) + (respectful A A RA RA_27_) (Coq__Init__Datatypes.id A)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U11 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A RA RA_27_) => + H. + +#TYPE_CLASS_INSTANCE subrelation__id__proper. + +def let__U12 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm subrelation__respectful : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + subl : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A RA_27_ RA) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + RB_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + subr : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation B RB RB_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B RA RB) (respectful A B RA_27_ RB_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U12 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U12 => + RA_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + subl : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A RA_27_ RA) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RB_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + subr : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation B RB RB_27_) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (respectful A B RA RB x y) + (H : cupicef.Term cupicef.prop (respectful A B RA RB x y) => + respectful A B RA_27_ RB_27_ x y)))) + (Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B RA RB) (respectful A B RA_27_ RB_27_)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : cupicef.Term cupicef.prop (respectful A B RA RB x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (RA_27_ x0 y0) + (H0 : cupicef.Term cupicef.prop (RA_27_ x0 y0) => + RB_27_ (x x0) (y y0))))) + (respectful A B RA_27_ RB_27_ x y) cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA_27_ x0 y0) => + (H1 : + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (RB (x x0) y1) -> + cupicef.Term cupicef.prop (RB_27_ (x x0) y1)) => + (H2 : + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (RA x0 y1) -> + cupicef.Term cupicef.prop (RB (x x0) (y y1))) => + (H3 : + (__ : cupicef.Term cupicef.prop (RB (x x0) (y y0)) -> + cupicef.Term cupicef.prop (RB_27_ (x x0) (y y0))) => + subr (x x0) (y y0) (H x0 y0 (subl x0 y0 H0))) (H1 (y y0))) ( + H x0)) + (subr (x x0)))). + +def let__U13 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm subrelation__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.subrelation A R R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U13 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (H : cupicef.Term cupicef.prop (R x y) => R x y)))) + (Coq__Classes__RelationClasses.subrelation A R R) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (R x y) => + H). + +def let__U14 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm subrelation__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + mor : cupicef.Term cupicef.prop (Proper A R_27_ m) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + unc : + cupicef.Term cupicef.set + (Coq__Classes__Init.Unconvertible + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + R R_27_) -> + sub : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R_27_ R) -> + cupicef.Term cupicef.prop (Proper A R m) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U14 => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + mor : cupicef.Term cupicef.prop (Proper A R_27_ m) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + unc : + cupicef.Term cupicef.set + (Coq__Classes__Init.Unconvertible + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + R R_27_) => + sub : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R_27_ R) => + sub m m mor. + +def let__U15 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm proper__subrelation__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.subrelation A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl)) + (Proper A)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U15 => + cupicef.cast cupicef.prop cupicef.prop + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__RelationClasses.subrelation A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl) + (Proper A) (Proper A)) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.subrelation A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl)) + (Proper A)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.subrelation A x y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A x y) => + respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl (Proper A x) (Proper A y))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.subrelation A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl) + (Proper A) (Proper A)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + Coq__Program__Basics.impl (Proper A x x0) + (Proper A y y0))))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl (Proper A x) (Proper A y)) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U15 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Proper A x x0) + (H1 : cupicef.Term cupicef.prop (Proper A x x0) => + Proper A y y0)) + (Coq__Program__Basics.impl (Proper A x x0) (Proper A y y0)) + cupicef.I + (H1 : cupicef.Term cupicef.prop (Proper A x x0) => + cupicef.cast cupicef.prop cupicef.prop (y y0 y0) + (Proper A y y0) cupicef.I + (Coq__Init__Logic.eq__ind__r A y0 + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Proper A x x1) + (H2 : cupicef.Term cupicef.prop (Proper A x x1) => + y y0 y0)) + (H2 : cupicef.Term cupicef.prop (Proper A x y0) => + (H3 : + (y1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (x y0 y1) -> + cupicef.Term cupicef.prop (y y0 y1)) => + (H4 : + (__ : cupicef.Term cupicef.prop (x y0 y0) -> + cupicef.Term cupicef.prop (y y0 y0)) => + (H5 : cupicef.Term cupicef.prop (y y0 y0) => H5) + (H4 H2)) + (H3 y0)) + (H y0)) + x0 H0 H1))))). + +#TYPE_CLASS_INSTANCE proper__subrelation__proper. + +def let__U16 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm pointwise__subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + sub : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation B R R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (pointwise__relation A B R) (pointwise__relation A B R_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U16 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U16 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + sub : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation B R R_27_) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (pointwise__relation A B R x y) + (H : cupicef.Term cupicef.prop (pointwise__relation A B R x y) => + pointwise__relation A B R_27_ x y)))) + (Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (pointwise__relation A B R) (pointwise__relation A B R_27_)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : cupicef.Term cupicef.prop (pointwise__relation A B R x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R_27_ (x a) (y a))) + (pointwise__relation A B R_27_ x y) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop (R_27_ (x a) (y a)) + (R_27_ (x a) (y a)) cupicef.I (sub (x a) (y a) (H a)))). + +#TYPE_CLASS_INSTANCE pointwise__subrelation. + +def let__U17 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm forall__subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + R : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P x))) -> + S : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P x))) -> + __ : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (forall__relation A P R) (forall__relation A P S)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U17 => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U17) => + R : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P x))) => + S : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation (P x))) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) + (H : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (x : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + (y : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x0)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (forall__relation A P R x y) + (H0 : cupicef.Term cupicef.prop (forall__relation A P R x y) => + forall__relation A P S x y))))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) + (__ : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) => + Coq__Classes__RelationClasses.subrelation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (forall__relation A P R) (forall__relation A P S))) + cupicef.I + (H : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation (P a) (R a) (S a))) => + x : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + y : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x0)) => + H0 : cupicef.Term cupicef.prop (forall__relation A P R x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + S a (x a) (y a))) + (forall__relation A P S x y) cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H a (x a) (y a) (H0 a))). + +def apply__subrelation : + cupicef.Univ cupicef.prop. + +def do__subrelation : + cupicef.Term cupicef.prop apply__subrelation. + +thm iff__impl__subrelation : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Program__Basics.impl) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff x y) + (H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + Coq__Program__Basics.impl x y)))) + (Coq__Classes__RelationClasses.subrelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Program__Basics.impl) + cupicef.I + (x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (H0 : cupicef.Term cupicef.prop x => y)) + (Coq__Program__Basics.impl x y) cupicef.I + (H0 : cupicef.Term cupicef.prop x => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + y + (H1 : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y) => + H2 : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x) => + (H3 : cupicef.Term cupicef.prop y => H3) (H1 H0)) + H)). + +#TYPE_CLASS_INSTANCE iff__impl__subrelation. + +thm iff__flip__impl__subrelation : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (x : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (y : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff x y) + (H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl x y)))) + (Coq__Classes__RelationClasses.subrelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + cupicef.I + (x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (H0 : cupicef.Term cupicef.prop y => x)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl x y) + cupicef.I + (H0 : cupicef.Term cupicef.prop y => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + x + (H1 : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y) => + H2 : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x) => + (H3 : cupicef.Term cupicef.prop x => H3) (H2 H0)) + H)). + +#TYPE_CLASS_INSTANCE iff__flip__impl__subrelation. + +def let__U18 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def respectful__per__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U18 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U18 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H1 : cupicef.Term cupicef.prop (respectful A B R R_27_ x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Classes__RelationClasses.match____PER cupicef.prop A R + (__ : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R_27_ (y x0) (x y0)) + (PER__Symmetric : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric A R) => + PER__Transitive : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R) => + Coq__Classes__RelationClasses.match____PER cupicef.prop B R_27_ + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PER B R_27_) => + R_27_ (y x0) (x y0)) + (PER__Symmetric0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B R_27_) => + PER__Transitive0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive B R_27_) => + PER__Symmetric0 (x y0) (y x0) (H1 y0 x0 (PER__Symmetric x0 y0 H2))) + H0) + H. + +def let__U19 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def let__H4 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 -> + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) -> + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + z : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H1 : cupicef.Term cupicef.prop (respectful A B R R_27_ x y) -> + H2 : cupicef.Term cupicef.prop (respectful A B R R_27_ y z) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H3 : cupicef.Term cupicef.prop (R x0 y0) -> + cupicef.Term cupicef.prop (R x0 x0) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + z : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H1 : cupicef.Term cupicef.prop (respectful A B R R_27_ x y) => + H2 : cupicef.Term cupicef.prop (respectful A B R R_27_ y z) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H3 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x0 y0 x0 H3 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) x0 y0 H3). + +thm respectful__per__obligation__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U19 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + z : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H1 : cupicef.Term cupicef.prop (respectful A B R R_27_ x y) => + H2 : cupicef.Term cupicef.prop (respectful A B R R_27_ y z) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H3 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Classes__RelationClasses.transitivity B R_27_ + (Coq__Classes__RelationClasses.PER__Transitive B R_27_ H0) (x x0) ( + y x0) (z y0) (H1 x0 x0 (let__H4 A B R H R_27_ H0 x y z H1 H2 x0 y0 H3)) + (H2 x0 y0 H3). + +def let__U20 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def respectful__per : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PER + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U20 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U20 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER B R_27_) => + Coq__Classes__RelationClasses.Build__PER + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_) + ((R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H1 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H2 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PER B R_27_0) => + respectful__per__obligation__1 A B R0 H1 R_27_0 H2) R H R_27_ H0) + ((R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H1 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + R_27_0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H2 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PER B R_27_0) => + respectful__per__obligation__2 A B R0 H1 R_27_0 H2) R H R_27_ H0). + +def let__U21 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def let__i : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.iff (R x x0) (R y y0)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + mR x y H x0 y0 H0. + +def let__H5 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R y y0) => + H2 H4. + +def let__H2 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R y y0) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R y y0) => + H1 (let__H5 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4). + +def let__H1 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R y y0) => + H3 (let__H5 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4). + +def let__H6 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R x x0) => + H1 H4. + +def let__H3 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R x x0) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R x x0) => + H2 (let__H6 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4). + +def let__H7 : + A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : cupicef.Term cupicef.prop (RA x y) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (RA x0 y0) -> + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) -> + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) -> + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R x x0) => + H3 (let__H6 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4). + +thm complement__proper__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + (Coq__Classes__RelationClasses.complement A R)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U21 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (RA x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => R y y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y y0) + (__ : cupicef.Term cupicef.prop (R y y0) => R x x0)) + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y y0) + (__ : cupicef.Term cupicef.prop (R y y0) => Coq__Init__Logic.False))) + (H1 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R y y0)) => + H2 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R x x0)) => + Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y y0) + (__0 : cupicef.Term cupicef.prop (R y y0) => + Coq__Init__Logic.False))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y y0) + (__ : cupicef.Term cupicef.prop (R y y0) => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__0 : cupicef.Term cupicef.prop (R x x0) => + Coq__Init__Logic.False))) + (H3 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R y y0) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H1 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4)) + (H3 : + (__ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop (R x x0) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H7 A RA R mR x y H x0 y0 H0 H1 H2 H3 H4))) + (let__i A RA R mR x y H x0 y0 H0). + +def let__U22 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def complement__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + (Coq__Classes__RelationClasses.complement A R)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U22 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA Coq__Init__Logic.iff)) + R) => + (RA0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + mR0 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + RA0 + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + RA0 Coq__Init__Logic.iff)) + R0) => + complement__proper__obligation__1 A RA0 R0 mR0) RA R mR. + +def let__U23 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm flip__proper__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + mor : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + (respectful A + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => C)) + RA (respectful B C RB RC)) + f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C))) + (respectful B + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) + RB (respectful A C RA RC)) + (Coq__Program__Basics.flip A B C f)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U23 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U23 => + C : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U23 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + mor : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + (respectful A + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)) + RA (respectful B C RB RC)) + f) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + H : cupicef.Term cupicef.prop (RB x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (RA x0 y0) => + mor x0 y0 H0 x y H. + +def let__U24 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def flip__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + mor : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + (respectful A + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => C)) + RA (respectful B C RB RC)) + f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C))) + (respectful B + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) + RB (respectful A C RA RC)) + (Coq__Program__Basics.flip A B C f)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U24 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U24 => + C : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U24 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + mor : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + (respectful A + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)) + RA (respectful B C RB RC)) + f) => + (RA0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + f0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + mor0 : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + (respectful A + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)) + RA0 (respectful B C RB0 RC0)) + f0) => + flip__proper__obligation__1 A B C RA0 RB0 RC0 f0 mor0) RA RB RC f mor. + +def let__U25 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__contra__co__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Program__Basics.impl) + R R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U25 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y x) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (R x0 y0) => + H2 : cupicef.Term cupicef.prop (R x x0) => + Coq__Classes__RelationClasses.transitivity A R H y x y0 H0 + (Coq__Classes__RelationClasses.transitivity A R H x x0 y0 H2 H1). + +def let__U26 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__contra__co__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R Coq__Program__Basics.impl)) + R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U26 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R0) => + trans__contra__co__morphism__obligation__1 A R0 H0) R H. + +#TYPE_CLASS_INSTANCE trans__contra__co__morphism. + +def let__U27 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__contra__inv__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + (R x) (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U27 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y x0) => + H1 : cupicef.Term cupicef.prop (R x y) => + Coq__Classes__RelationClasses.transitivity A R H x y x0 H1 H0. + +def let__U28 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__contra__inv__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U28 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R0) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + trans__contra__inv__impl__morphism__obligation__1 A R0 H0 x0) R H x. + +#TYPE_CLASS_INSTANCE trans__contra__inv__impl__morphism. + +def let__U29 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__co__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Program__Basics.impl (R x) (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U29 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y) => + H1 : cupicef.Term cupicef.prop (R x x0) => + Coq__Classes__RelationClasses.transitivity A R H x x0 y H1 H0. + +def let__U30 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__co__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Program__Basics.impl) + (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U30 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R0) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + trans__co__impl__morphism__obligation__1 A R0 H0 x0) R H x. + +#TYPE_CLASS_INSTANCE trans__co__impl__morphism. + +def let__U31 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__sym__co__inv__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + (R x) (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U31 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y) => + H1 : cupicef.Term cupicef.prop (R x y) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x y x0 H1 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) x0 y H0). + +def let__U32 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__sym__co__inv__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U32 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + trans__sym__co__inv__impl__morphism__obligation__1 A R0 H0 x0) R H x. + +#TYPE_CLASS_INSTANCE trans__sym__co__inv__impl__morphism. + +def let__U33 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__sym__contra__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + Coq__Program__Basics.impl (R x) (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U33 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y x0) => + H1 : cupicef.Term cupicef.prop (R x x0) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x x0 y H1 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) y x0 H0). + +def let__U34 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__sym__contra__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + Coq__Program__Basics.impl) + (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U34 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + trans__sym__contra__impl__morphism__obligation__1 A R0 H0 x0) R H x. + +#TYPE_CLASS_INSTANCE trans__sym__contra__impl__morphism. + +def let__U35 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm per__partial__app__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Init__Logic.iff (R x) (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U35 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => R x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R x x0)) + (H1 : cupicef.Term cupicef.prop (R x x0) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x x0 y H1 H0) + (H1 : cupicef.Term cupicef.prop (R x y) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x y x0 H1 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) x0 y H0)). + +def let__U36 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def per__partial__app__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Init__Logic.iff) + (R x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U36 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + per__partial__app__morphism__obligation__1 A R0 H0 x0) R H x. + +#TYPE_CLASS_INSTANCE per__partial__app__morphism. + +def let__U37 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm trans__co__eq__inv__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + R + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + R R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U37 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U37 + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + H2 : cupicef.Term cupicef.prop (R y y0) => + Coq__Init__Logic.eq__ind__r A y0 + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => R x x1) + (Coq__Classes__RelationClasses.transitivity A R H x y y0 H0 H2) x0 H1. + +def let__U38 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def trans__co__eq__inv__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl))) + R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U38 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Transitive A R0) => + trans__co__eq__inv__impl__morphism__obligation__1 A R0 H0) R H. + +#TYPE_CLASS_INSTANCE trans__co__eq__inv__impl__morphism. + +def let__U39 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm PER__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + cupicef.Term cupicef.prop + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + R + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Init__Logic.iff) + R R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U39 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => R y y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y y0) + (__ : cupicef.Term cupicef.prop (R y y0) => R x x0)) + (H2 : cupicef.Term cupicef.prop (R x x0) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) y x0 y0 + (Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) y x x0 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) x y H0) + H2) + H1) + (H2 : cupicef.Term cupicef.prop (R y y0) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) x y x0 H0 + (Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PER__Transitive A R H) y y0 x0 H2 + (Coq__Classes__RelationClasses.symmetry A R + (Coq__Classes__RelationClasses.PER__Symmetric A R H) x0 y0 H1))). + +def let__U40 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def PER__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R Coq__Init__Logic.iff)) + R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U40 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R) => + (R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PER A R0) => + PER__morphism__obligation__1 A R0 H0) R H. + +#TYPE_CLASS_INSTANCE PER__morphism. + +def let__U41 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm symmetric__equiv__flip : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U41 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (R x) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x))) + (Coq__Classes__RelationClasses.relation__equivalence A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => + Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) => + R x x0)))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (R x) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x)) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => + Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) => + R x x0)) + (H0 : cupicef.Term cupicef.prop (R x x0) => + (H1 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (R y x)) => + (H2 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + cupicef.Term cupicef.prop (R x0 x)) => + (H3 : cupicef.Term cupicef.prop (R x0 x) => H3) (H2 H0)) + (H1 x0)) + (H x)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) => + (H1 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y) -> + cupicef.Term cupicef.prop (R y x0)) => + (H2 : + (__ : cupicef.Term cupicef.prop (R x0 x0) -> + cupicef.Term cupicef.prop (R x0 x0)) => + (H3 : + (__ : cupicef.Term cupicef.prop (R x0 x) -> + cupicef.Term cupicef.prop (R x x0)) => + (H4 : cupicef.Term cupicef.prop (R x x0) => H4) (H3 H0)) + (H1 x)) + (H1 x0)) + (H x0)))). + +def let__U42 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm compose__proper__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) -> + cupicef.Term cupicef.prop + (respectful + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => C)) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C))) + (respectful B C RB RC) + (respectful + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) + (respectful A B RA RB) (respectful A C RA RC)) + (Coq__Program__Basics.compose A B C) + (Coq__Program__Basics.compose A B C)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U42 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U42 => + C : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U42 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + H : cupicef.Term cupicef.prop (respectful B C RB RC x y) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + y0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H0 : cupicef.Term cupicef.prop (respectful A B RA RB x0 y0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (RA x1 y1) => + H (x0 x1) (y0 y1) (H0 x1 y1 H1). + +def let__U43 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def compose__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => C)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (__0 : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C)))) + (respectful + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => C)) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C))) + (respectful B C RB RC) + (respectful + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C)) + (respectful A B RA RB) (respectful A C RA RC))) + (Coq__Program__Basics.compose A B C)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U43 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U43 => + C : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U43 => + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + (RA0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + RB0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + RC0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + compose__proper__obligation__1 A B C RA0 RB0 RC0) RA RB RC. + +#TYPE_CLASS_INSTANCE compose__proper. + +def let__U44 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm reflexive__eq__dom__reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive B R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U44 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U44 => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Reflexive B R_27_) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.Reflexive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_)) + (Coq__Classes__RelationClasses.Reflexive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_ x x)) + (Coq__Classes__RelationClasses.Reflexive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_)) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) => + R_27_ (x x0) (x y))))) + (respectful A B + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R_27_ x x) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U44 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) => + cupicef.cast cupicef.prop cupicef.prop (R_27_ (x x0) (x y)) + (R_27_ (x x0) (x y)) cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + ((x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R_27_ (x x1) (x y)) x0) + (R_27_ (x x0) (x y)) cupicef.I + (Coq__Init__Logic.eq__ind__r A y + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R_27_ (x x1) (x y)) + (H (x y)) x0 H0))))). + +#TYPE_CLASS_INSTANCE reflexive__eq__dom__reflexive. + +def let__U45 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm respectful__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (respectful A B)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U45 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U45 => + cupicef.cast cupicef.prop cupicef.prop + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (respectful A B) (respectful A B)) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (respectful A B)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence A x y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A + x y) => + respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (respectful A B x) (respectful A B y))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (respectful A B) (respectful A B)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A x y) => + cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (x0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation B) + (y0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence B x0 + y0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + B x0 y0) => + Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (respectful A B x x0) (respectful A B y y0))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation B)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)))) + (Coq__Classes__RelationClasses.relation__equivalence B) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (respectful A B x) (respectful A B y)) + cupicef.I + (x0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + y0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence B x0 y0) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.predicate__equivalence + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B x x0) (respectful A B y y0)) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (respectful A B x x0) (respectful A B y y0)) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B x x0) (respectful A B y y0)) + (Coq__Classes__RelationClasses.predicate__equivalence + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B x x0) (respectful A B y y0)) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x1 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x2 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.iff (respectful A B x x0 x1 x2) + (respectful A B y y0 x1 x2)))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (Coq__Classes__RelationClasses.Tcons + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B x x0) (respectful A B y y0)) + cupicef.I + (x1 : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x2 : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (x x3 y1) + (__ : cupicef.Term cupicef.prop (x x3 y1) => + x0 (x1 x3) (x2 y1))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (y x3 y1) + (__ : cupicef.Term cupicef.prop (y x3 y1) => + y0 (x1 x3) (x2 y1)))))) + (Coq__Init__Logic.iff (respectful A B x x0 x1 x2) + (respectful A B y y0 x1 x2)) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (x x3 y1) + (__ : + cupicef.Term cupicef.prop + (x x3 y1) => + x0 (x1 x3) (x2 y1))))) + (__ : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (x x3 y1) -> + cupicef.Term cupicef.prop + (x0 (x1 x3) (x2 y1))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (y x3 y1) + (__0 : + cupicef.Term cupicef.prop + (y x3 y1) => + y0 (x1 x3) (x2 y1)))))) + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (y x3 y1) + (__ : + cupicef.Term cupicef.prop + (y x3 y1) => + y0 (x1 x3) (x2 y1))))) + (__ : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (y x3 y1) -> + cupicef.Term cupicef.prop + (y0 (x1 x3) (x2 y1))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (x x3 y1) + (__0 : + cupicef.Term cupicef.prop + (x x3 y1) => + x0 (x1 x3) (x2 y1))))))) + (Coq__Init__Logic.iff + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (x x3 y1) + (__ : + cupicef.Term cupicef.prop (x x3 y1) => + x0 (x1 x3) (x2 y1))))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (y x3 y1) + (__ : + cupicef.Term cupicef.prop (y x3 y1) => + y0 (x1 x3) (x2 y1)))))) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (x x3 y1) + (__ : + cupicef.Term cupicef.prop + (x x3 y1) => + x0 (x1 x3) (x2 y1))))) + (__ : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (x x3 y1) -> + cupicef.Term cupicef.prop + (x0 (x1 x3) (x2 y1))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (y x3 y1) + (__0 : + cupicef.Term cupicef.prop + (y x3 y1) => + y0 (x1 x3) (x2 y1)))))) + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (y x3 y1) + (__ : + cupicef.Term cupicef.prop + (y x3 y1) => + y0 (x1 x3) (x2 y1))))) + (__ : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (y x3 y1) -> + cupicef.Term cupicef.prop + (y0 (x1 x3) (x2 y1))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (x x3 y1) + (__0 : + cupicef.Term cupicef.prop + (x x3 y1) => + x0 (x1 x3) (x2 y1)))))) + (H1 : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (x x3 y1) -> + cupicef.Term cupicef.prop + (x0 (x1 x3) (x2 y1))) => + x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (y x3 y1) => + (lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (x0 (x1 x3) (x2 y1)) + (y0 (x1 x3) (x2 y1))) => + iff__flip__impl__subrelation + (y0 (x1 x3) (x2 y1)) (x0 (x1 x3) (x2 y1)) + (Coq__Classes__RelationClasses.symmetry + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + Coq__Classes__RelationClasses.iff__Symmetric + (x0 (x1 x3) (x2 y1)) (y0 (x1 x3) (x2 y1)) + lemma)) + (H0 (x1 x3) (x2 y1)) + (H1 x3 y1 + ((lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (x x3 y1) + (y x3 y1)) => + iff__flip__impl__subrelation (x x3 y1) + (y x3 y1) lemma) + (H x3 y1) H2))) + (H1 : + (x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (y x3 y1) -> + cupicef.Term cupicef.prop + (y0 (x1 x3) (x2 y1))) => + x3 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + y1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (x x3 y1) => + (lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (x0 (x1 x3) (x2 y1)) + (y0 (x1 x3) (x2 y1))) => + iff__flip__impl__subrelation + (x0 (x1 x3) (x2 y1)) (y0 (x1 x3) (x2 y1)) + lemma) + (H0 (x1 x3) (x2 y1)) + (H1 x3 y1 + ((lemma : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (x x3 y1) + (y x3 y1)) => + iff__flip__impl__subrelation (y x3 y1) + (x x3 y1) + (Coq__Classes__RelationClasses.symmetry + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + Coq__Classes__RelationClasses.iff__Symmetric + (x x3 y1) (y x3 y1) lemma)) + (H x3 y1) H2))))))))))). + +#TYPE_CLASS_INSTANCE respectful__morphism. + +def let__U46 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm Reflexive__partial__app__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + m : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_) m) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (ProperProxy A R x) -> + cupicef.Term cupicef.prop (Proper B R_27_ (m x)) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U46 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U46 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + m : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + cupicef.Term cupicef.prop + (Proper + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (respectful A B R R_27_) m) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (ProperProxy A R x) => + cupicef.cast cupicef.prop cupicef.prop (Proper B R_27_ (m x)) + (Proper B R_27_ (m x)) cupicef.I + (cupicef.cast cupicef.prop cupicef.prop (R_27_ (m x) (m x)) + (Proper B R_27_ (m x)) cupicef.I + (cupicef.cast cupicef.prop cupicef.prop (R_27_ (m x) (m x)) + (R_27_ (m x) (m x)) cupicef.I + (cupicef.cast cupicef.prop cupicef.prop (R_27_ (m x) (m x)) + (R_27_ (m x) (m x)) cupicef.I (H x x H0)))). + +def let__U47 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm flip__respectful : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (Coq__Program__Basics.flip + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R R_27_)) + (respectful A B + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_))) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U47 => + B : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U47 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.and + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x1 y) + (__ : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x0 x1) (x y))))) + (__ : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x0 x1) (x y))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R y x1) + (__0 : cupicef.Term cupicef.prop (R y x1) => + R_27_ (x0 y) (x x1)))))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R y x1) + (__ : cupicef.Term cupicef.prop (R y x1) => + R_27_ (x0 y) (x x1))))) + (__ : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x1) -> + cupicef.Term cupicef.prop (R_27_ (x0 y) (x x1))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x1 y) + (__0 : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x0 x1) (x y))))))))) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (Coq__Program__Basics.flip + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R R_27_)) + (respectful A B + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_))) + cupicef.I + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x1 y) + (__ : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x0 x1) (x y))))) + (__ : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x0 x1) (x y))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R y x1) + (__0 : cupicef.Term cupicef.prop (R y x1) => + R_27_ (x0 y) (x x1)))))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R y x1) + (__ : cupicef.Term cupicef.prop (R y x1) => + R_27_ (x0 y) (x x1))))) + (__ : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x1) -> + cupicef.Term cupicef.prop (R_27_ (x0 y) (x x1))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R x1 y) + (__0 : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x0 x1) (x y)))))) + (H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x0 x1) (x y))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y x1) => + cupicef.cast cupicef.prop cupicef.prop (R_27_ (x0 y) (x x1)) + (R_27_ (x0 y) (x x1)) cupicef.I (H y x1 H0)) + (H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x1) -> + cupicef.Term cupicef.prop (R_27_ (x0 y) (x x1))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x1 y) => + cupicef.cast cupicef.prop cupicef.prop (R_27_ (x0 x1) (x y)) + (R_27_ (x0 x1) (x y)) cupicef.I (H y x1 H0))). + +def let__U48 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm flip1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R_27_ R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_)) + R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U48 => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R_27_ R) => + H. + +def let__U49 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm flip2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R R_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_))) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U49 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A R R_27_) => + H. + +def let__U50 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm eq__subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.subrelation A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U50 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.subrelation A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R) + (Coq__Classes__RelationClasses.subrelation A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + R x y)))) + (Coq__Classes__RelationClasses.subrelation A + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + R) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U50 + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + cupicef.cast cupicef.prop cupicef.prop (R x y) (R x y) cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R x0 y) x) + (R x y) cupicef.I + (Coq__Init__Logic.eq__ind__r A y + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R x0 y) + (H y) x H0)))). + +def let__U51 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +def proper__flip__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + mor : cupicef.Term cupicef.prop (Proper A R m) -> + cupicef.Term cupicef.prop + (Proper A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + m) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U51 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + mor : cupicef.Term cupicef.prop (Proper A R m) => + mor. + +def let__U52 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm reflexive__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (Proper A R x) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U52 => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (H0 : cupicef.Term cupicef.prop (R x x) => H0) (H x). + +def let__U53 : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I. + +thm proper__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Proper A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + x) + +:= A : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + let__U53 => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + reflexive__proper A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + let__U53 + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Classes__RelationClasses.eq__Reflexive A) x. + +def PartialApplication : + cupicef.Univ cupicef.prop. + +#TYPE_CLASS PartialApplication. + +def Build__PartialApplication : + cupicef.Term cupicef.prop PartialApplication. + +[ ] cupicef.code_guarded? _ Build__PartialApplication --> cupicef.guarded. + +def match____PartialApplication : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.prop PartialApplication -> cupicef.Univ s) -> + case__Build__PartialApplication : + cupicef.Term s (P Build__PartialApplication) -> + x : cupicef.Term cupicef.prop PartialApplication -> + cupicef.Term s (P x). + +[ s, P, case__Build__PartialApplication] + match____PartialApplication s P case__Build__PartialApplication + Build__PartialApplication + --> + case__Build__PartialApplication. + +[ s, P, s'] + match____PartialApplication s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PartialApplication s' (x => P x). + +def normalization__done : + cupicef.Univ cupicef.prop. + +def did__normalization : + cupicef.Term cupicef.prop normalization__done. + +def Params : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + of : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS Params. + +def Build__Params : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + of : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (Params A of arity). + +[ ] cupicef.code_guarded? _ (Build__Params _ _ _) --> cupicef.guarded. + +def match____Params : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + of : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + arity : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : (cupicef.Term cupicef.prop (Params A of arity) -> cupicef.Univ s) -> + case__Build__Params : cupicef.Term s (P (Build__Params A of arity)) -> + x : cupicef.Term cupicef.prop (Params A of arity) -> + cupicef.Term s (P x). + +[ s, A, of, arity, P, case__Build__Params] + match____Params s A of arity P case__Build__Params + (Build__Params A of arity) + --> + case__Build__Params. + +[ s, A, of, arity, P, s'] + match____Params s A of arity + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Params s' A of arity (x => P x). + +thm proper__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Proper A)) + +:= cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Proper A))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Proper A))) + cupicef.I + (cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff) + (Proper A) (Proper A))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Proper A))) + cupicef.I + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence A x + y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + A x y) => + respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff (Proper A x) (Proper A y))))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff) + (Proper A) (Proper A)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A x y) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + Coq__Init__Logic.iff (Proper A x x0) (Proper A y y0))))) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff (Proper A x) (Proper A y)) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.iff (Proper A x x0) (Proper A y y0)) + (Coq__Init__Logic.iff (Proper A x x0) (Proper A y y0)) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + ((x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.iff (Proper A x x1) (Proper A y y0)) + x0) + (Coq__Init__Logic.iff (Proper A x x0) (Proper A y y0)) + cupicef.I + (Coq__Init__Logic.eq__ind__r A y0 + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.iff (Proper A x x1) (Proper A y y0)) + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A x y0) + (__ : cupicef.Term cupicef.prop (Proper A x y0) => + Proper A y y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A y y0) + (__ : cupicef.Term cupicef.prop (Proper A y y0) => + Proper A x y0)) + (cupicef.cast + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A x y0) + (H1 : + cupicef.Term cupicef.prop (Proper A x y0) => + y y0 y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A x y0) + (__ : + cupicef.Term cupicef.prop (Proper A x y0) => + Proper A y y0)) + cupicef.I + (H1 : cupicef.Term cupicef.prop (Proper A x y0) => + iff__flip__impl__subrelation (y y0 y0) + (x y0 y0) + (Coq__Classes__RelationClasses.symmetry + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff + Coq__Classes__RelationClasses.iff__Symmetric + (x y0 y0) (y y0 y0) (H y0 y0)) + H1)) + (cupicef.cast + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A y y0) + (H1 : + cupicef.Term cupicef.prop (Proper A y y0) => + x y0 y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (Proper A y y0) + (__ : + cupicef.Term cupicef.prop (Proper A y y0) => + Proper A x y0)) + cupicef.I + (H1 : cupicef.Term cupicef.prop (Proper A y y0) => + iff__flip__impl__subrelation (x y0 y0) + (y y0 y0) (H y0 y0) H1))) + x0 H0)))))). + +#TYPE_CLASS_INSTANCE proper__proper. + +def Normalizes : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + m : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + m : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Coq__Classes__RelationClasses.relation__equivalence A m m_27_. + +#TYPE_CLASS Normalizes. + +def normalizes : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + m : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Normalizes0 : cupicef.Term cupicef.prop (Normalizes A m m_27_) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A m m_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + m : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + m_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Normalizes0 : cupicef.Term cupicef.prop (Normalizes A m m_27_) => + Normalizes0. + +thm proper__normalizes__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Normalizes A R0 R1) -> + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (Proper A R1 m) -> + cupicef.Term cupicef.prop (Proper A R0 m) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Normalizes A R0 R1) => + m : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (Proper A R1 m) => + (lemma : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A R0 R1) => + subrelation__proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (m0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Proper A) (proper__proper A) + (respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (m0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl))) + Coq__Init__Datatypes.tt + (subrelation__respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (m0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (Coq__Classes__RelationClasses.relation__equivalence A) + (subrelation__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Classes__RelationClasses.relation__equivalence A)) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (subrelation__respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (subrelation__refl A + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl) + iff__flip__impl__subrelation)) + R0 R1 lemma m m (eq__proper__proxy A m)) + H H0. + +thm flip__atom : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (R x) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x))) + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => + Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) => + R x x0)))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (R x) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x)) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x0) + (__ : cupicef.Term cupicef.prop (R x x0) => + Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) => + R x x0)) + (H : cupicef.Term cupicef.prop (R x x0) => H) + (H : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) => + H))). + +def let__H8 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) -> + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (R_27_ x2 x3) -> + cupicef.Term cupicef.prop (R_27__27_ x3 x2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27_ x2 x3) + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) => + Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27_ x2 x3)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27_ x2 x3) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip B B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_ x2 x3) => + R_27_ x2 x3)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27_ x2 x3) + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) => + R_27__27_ x3 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27__27_ x3 x2) + (__ : cupicef.Term cupicef.prop (R_27__27_ x3 x2) => + R_27_ x2 x3))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27_ x2 x3) + (__0 : cupicef.Term cupicef.prop (R_27_ x2 x3) => R_27__27_ x3 x2)) + (__ : + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) -> + cupicef.Term cupicef.prop (R_27__27_ x3 x2)) => + __0 : + (__0 : cupicef.Term cupicef.prop (R_27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R_27_ x2 x3)) => + __) + (NB x2 x3). + +def let__H9 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) -> + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R x2 x3) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x2 x3) + (__ : cupicef.Term cupicef.prop (R x2 x3) => + Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27__27_ x2 x3)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27__27_ x2 x3) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_ x2 x3) => + R x2 x3)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x2 x3) + (__ : cupicef.Term cupicef.prop (R x2 x3) => + R_27__27__27_ x3 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27__27__27_ x3 x2) + (__ : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) => + R x2 x3))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27__27__27_ x3 x2) + (__0 : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) => R x2 x3)) + (__ : + (__ : cupicef.Term cupicef.prop (R x2 x3) -> + cupicef.Term cupicef.prop (R_27__27__27_ x3 x2)) => + __0 : + (__0 : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R x2 x3)) => + __0) + (NA x2 x3). + +def let__H10 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) -> + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop (R_27__27_ (x0 x1) (x y))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x1 y) -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (R_27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R_27_ x2 x3) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop (R_27__27_ (x0 x1) (x y))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x1 y) => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27_ x2 x3) + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) => + Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27_ x2 x3)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27_ x2 x3) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip B B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_ x2 x3) => + R_27_ x2 x3)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27_ x2 x3) + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) => + R_27__27_ x3 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27__27_ x3 x2) + (__ : cupicef.Term cupicef.prop (R_27__27_ x3 x2) => + R_27_ x2 x3))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27__27_ x3 x2) + (__0 : cupicef.Term cupicef.prop (R_27__27_ x3 x2) => R_27_ x2 x3)) + (__ : + (__ : cupicef.Term cupicef.prop (R_27_ x2 x3) -> + cupicef.Term cupicef.prop (R_27__27_ x3 x2)) => + __0 : + (__0 : cupicef.Term cupicef.prop (R_27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R_27_ x2 x3)) => + __0) + (NB x2 x3). + +def let__H11 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) -> + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop (R_27__27_ (x0 x1) (x y))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x1 y) -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x2 x3) -> + cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop (R_27__27_ (x0 x1) (x y))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x1 y) => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x2 x3) + (__ : cupicef.Term cupicef.prop (R x2 x3) => + Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27__27_ x2 x3)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27__27__27_ x2 x3) + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_ x2 x3) => + R x2 x3)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x2 x3) + (__ : cupicef.Term cupicef.prop (R x2 x3) => + R_27__27__27_ x3 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27__27__27_ x3 x2) + (__ : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) => + R x2 x3))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x2 x3) + (__0 : cupicef.Term cupicef.prop (R x2 x3) => R_27__27__27_ x3 x2)) + (__ : + (__ : cupicef.Term cupicef.prop (R x2 x3) -> + cupicef.Term cupicef.prop (R_27__27__27_ x3 x2)) => + __0 : + (__0 : cupicef.Term cupicef.prop (R_27__27__27_ x3 x2) -> + cupicef.Term cupicef.prop (R x2 x3)) => + __) + (NA x2 x3). + +thm flip__arrow : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) -> + cupicef.Term cupicef.prop + (Normalizes + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27__27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + NA : + cupicef.Term cupicef.prop + (Normalizes A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27__27_)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + R_27__27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + NB : + cupicef.Term cupicef.prop + (Normalizes B R_27_ + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27__27_)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + (Normalizes + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.predicate__equivalence + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + (Coq__Classes__RelationClasses.relation__equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + (Coq__Classes__RelationClasses.predicate__equivalence + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x0 : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.iff (respectful A B R R_27_ x x0) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_) x x0)))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (Coq__Classes__RelationClasses.Tcons + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + Coq__Classes__RelationClasses.Tnil)) + (respectful A B R R_27_) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_))) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x0 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R x1 y) + (__ : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x x1) (x0 y))))) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (f : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + g : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (f x1) (g y))))) + x x0)))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x0 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + Coq__Init__Logic.iff (respectful A B R R_27_ x x0) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (respectful A B R_27__27__27_ R_27__27_) x x0)))) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x0 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.and + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (R x1 y) + (__ : + cupicef.Term cupicef.prop + (R x1 y) => + R_27_ (x x1) (x0 y))))) + (__ : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop + (R_27_ (x x1) (x0 y))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__0 : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (x0 x1) (x y)))))) + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)))) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (x0 x1) (x y))))) + (__ : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + __ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop + (R_27__27_ (x0 x1) (x y))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (R x1 y) + (__0 : + cupicef.Term cupicef.prop + (R x1 y) => + R_27_ (x x1) (x0 y))))))))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + B) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + B)) + (x0 : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.iff + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R x1 y) + (__ : + cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x x1) (x0 y))))) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + B))) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (f : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + g : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) B) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop + cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (f x1) (g y))))) + x x0)))) + cupicef.I + (x : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x0 : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R x1 y) + (__ : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x x1) (x0 y))))) + (__ : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__0 : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (x0 x1) (x y)))))) + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R_27__27__27_ x1 y) + (__ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) => + R_27__27_ (x0 x1) (x y))))) + (__ : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop + (R_27__27_ (x0 x1) (x y))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (R x1 y) + (__0 : cupicef.Term cupicef.prop (R x1 y) => + R_27_ (x x1) (x0 y)))))) + (H : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + cupicef.Term cupicef.prop (R_27_ (x x1) (x0 y))) => + x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R_27__27__27_ x1 y) => + let__H8 A B R R_27__27__27_ NA R_27_ R_27__27_ NB x + x0 H x1 y H0 (x y) (x0 x1) + (H y x1 + (let__H9 A B R R_27__27__27_ NA R_27_ R_27__27_ + NB x x0 H x1 y H0 y x1 H0))) + (H : + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop (R_27__27__27_ x1 y) -> + cupicef.Term cupicef.prop + (R_27__27_ (x0 x1) (x y))) => + x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x1 y) => + let__H10 A B R R_27__27__27_ NA R_27_ R_27__27_ NB x + x0 H x1 y H0 (x x1) (x0 y) + (H y x1 + (let__H11 A B R R_27__27__27_ NA R_27_ R_27__27_ + NB x x0 H x1 y H0 x1 y H0))))))))). + +thm proper__sym__flip : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R1) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + H0 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R1 R2) f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R1 + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R2)) + f) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Sym : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R1) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Hf : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B))) + (respectful A B R1 R2) f) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R1 x x_27_) + (Hxx_27_ : cupicef.Term cupicef.prop (R1 x x_27_) => + R2 (f x_27_) (f x))))) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + (respectful A B R1 + (Coq__Program__Basics.flip B B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R2)) + f) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxx_27_ : cupicef.Term cupicef.prop (R1 x x_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_)). + +thm proper__sym__flip__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R1) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric B R2) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R3 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + R1 (respectful B C R2 R3)) + f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + R1 + (respectful B C R2 + (Coq__Program__Basics.flip C C + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R3))) + f) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Sym1 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R1) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Sym2 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric B R2) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R3 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation C) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + Hf : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + R1 (respectful B C R2 R3)) + f) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R1 x x_27_) + (Hxx_27_ : cupicef.Term cupicef.prop (R1 x x_27_) => + respectful B C R2 + (Coq__Program__Basics.flip C C + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R3) + (f x) (f x_27_))))) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + C))) + R1 + (respectful B C R2 + (Coq__Program__Basics.flip C C + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R3))) + f) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxx_27_ : cupicef.Term cupicef.prop (R1 x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I B + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I B + (y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R2 y y_27_) + (Hyy_27_ : cupicef.Term cupicef.prop (R2 y y_27_) => + R3 (f x_27_ y_27_) (f x y))))) + (respectful B C R2 + (Coq__Program__Basics.flip C C + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R3) + (f x) (f x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Hyy_27_ : cupicef.Term cupicef.prop (R2 y y_27_) => + Hf x_27_ x (Sym1 x x_27_ Hxx_27_) y_27_ y (Sym2 y y_27_ Hyy_27_))). + +thm proper__sym__impl__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H0 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R Coq__Program__Basics.impl) + f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Init__Logic.iff) + f) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Sym : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Hf : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R Coq__Program__Basics.impl) + f) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x_27_) + (Hxx_27_ : cupicef.Term cupicef.prop (R x x_27_) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + f x) (__ : cupicef.Term cupicef.prop (f x) => f x_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_) + (__ : cupicef.Term cupicef.prop (f x_27_) => f x)))))) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R Coq__Init__Logic.iff) + f) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxx_27_ : cupicef.Term cupicef.prop (R x x_27_) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x) + (__ : cupicef.Term cupicef.prop (f x) => f x_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x_27_) + (__ : cupicef.Term cupicef.prop (f x_27_) => f x)) + (H : cupicef.Term cupicef.prop (f x) => Hf x x_27_ Hxx_27_ H) + (H : cupicef.Term cupicef.prop (f x_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) H)). + +thm proper__sym__impl__iff__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B R_27_) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ Coq__Program__Basics.impl)) + f) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ Coq__Init__Logic.iff)) + f) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Sym : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + Sym_27_ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Symmetric B R_27_) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + Hf : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ Coq__Program__Basics.impl)) + f) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x x_27_) + (Hxx_27_ : cupicef.Term cupicef.prop (R x x_27_) => + respectful B + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ Coq__Init__Logic.iff (f x) (f x_27_))))) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I B + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + R + (respectful B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R_27_ Coq__Init__Logic.iff)) + f) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxx_27_ : cupicef.Term cupicef.prop (R x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I B + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I B + (y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27_ y y_27_) + (Hyy_27_ : cupicef.Term cupicef.prop (R_27_ y y_27_) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x y) + (__ : cupicef.Term cupicef.prop (f x y) => + f x_27_ y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_ y_27_) + (__ : cupicef.Term cupicef.prop (f x_27_ y_27_) => + f x y)))))) + (respectful B + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R_27_ Coq__Init__Logic.iff (f x) (f x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Hyy_27_ : cupicef.Term cupicef.prop (R_27_ y y_27_) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (f x y) + (__ : cupicef.Term cupicef.prop (f x y) => f x_27_ y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (f x_27_ y_27_) + (__ : cupicef.Term cupicef.prop (f x_27_ y_27_) => f x y)) + (H : cupicef.Term cupicef.prop (f x y) => + Hf x x_27_ Hxx_27_ y y_27_ Hyy_27_ H) + (H : cupicef.Term cupicef.prop (f x_27_ y_27_) => + Hf x_27_ x (Sym x x_27_ Hxx_27_) y_27_ y + (Sym_27_ y y_27_ Hyy_27_) H))). + +def let__H0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) => + H1 Hx. + +def let__H12 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) -> + H3 : cupicef.Term cupicef.prop (R x x_27_) -> + H4 : cupicef.Term cupicef.prop (R x_27_ x) -> + __ : cupicef.Term cupicef.prop (R x x_27_) -> + __0 : cupicef.Term cupicef.prop (R x_27_ x) -> + cupicef.Term cupicef.prop (eqA x x_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) => + H3 : cupicef.Term cupicef.prop (R x x_27_) => + H4 : cupicef.Term cupicef.prop (R x_27_ x) => + H5 : cupicef.Term cupicef.prop (R x x_27_) => + H6 : cupicef.Term cupicef.prop (R x_27_ x) => + H2 (Coq__Init__Logic.conj (R x x_27_) (R x_27_ x) H5 H6). + +def let__H13 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) -> + H3 : cupicef.Term cupicef.prop (R x x_27_) -> + H4 : cupicef.Term cupicef.prop (R x_27_ x) -> + __ : cupicef.Term cupicef.prop (R x_27_ x) -> + cupicef.Term cupicef.prop (eqA x x_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) => + H3 : cupicef.Term cupicef.prop (R x x_27_) => + H4 : cupicef.Term cupicef.prop (R x_27_ x) => + let__H12 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr H0 H1 H2 H3 H4 H3. + +def let__H14 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) -> + H3 : cupicef.Term cupicef.prop (R x x_27_) -> + H4 : cupicef.Term cupicef.prop (R x_27_ x) -> + cupicef.Term cupicef.prop (eqA x x_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) => + H3 : cupicef.Term cupicef.prop (R x x_27_) => + H4 : cupicef.Term cupicef.prop (R x_27_ x) => + let__H13 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr H0 H1 H2 H3 H4 H4. + +def let__H15 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) => + H1 Hy. + +def let__H16 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) -> + H3 : cupicef.Term cupicef.prop (R y y_27_) -> + H4 : cupicef.Term cupicef.prop (R y_27_ y) -> + __ : cupicef.Term cupicef.prop (R y y_27_) -> + __0 : cupicef.Term cupicef.prop (R y_27_ y) -> + cupicef.Term cupicef.prop (eqA y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) => + H3 : cupicef.Term cupicef.prop (R y y_27_) => + H4 : cupicef.Term cupicef.prop (R y_27_ y) => + H5 : cupicef.Term cupicef.prop (R y y_27_) => + H6 : cupicef.Term cupicef.prop (R y_27_ y) => + H2 (Coq__Init__Logic.conj (R y y_27_) (R y_27_ y) H5 H6). + +def let__H17 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) -> + H3 : cupicef.Term cupicef.prop (R y y_27_) -> + H4 : cupicef.Term cupicef.prop (R y_27_ y) -> + __ : cupicef.Term cupicef.prop (R y_27_ y) -> + cupicef.Term cupicef.prop (eqA y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) => + H3 : cupicef.Term cupicef.prop (R y y_27_) => + H4 : cupicef.Term cupicef.prop (R y_27_ y) => + let__H16 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr H0 H1 H2 H3 H4 H3. + +def let__H18 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hx : cupicef.Term cupicef.prop (eqA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hy : cupicef.Term cupicef.prop (eqA y y_27_) -> + Hr : cupicef.Term cupicef.prop (R x y) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) -> + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) -> + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) -> + H3 : cupicef.Term cupicef.prop (R y y_27_) -> + H4 : cupicef.Term cupicef.prop (R y_27_ y) -> + cupicef.Term cupicef.prop (eqA y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Hr : cupicef.Term cupicef.prop (R x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) => + eqA y y_27_))) => + H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) => + H3 : cupicef.Term cupicef.prop (R y y_27_) => + H4 : cupicef.Term cupicef.prop (R y_27_ y) => + let__H17 A eqA equ R preo H x x_27_ Hx y y_27_ Hy Hr H0 H1 H2 H3 H4 H4. + +thm PartialOrder__proper : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Init__Logic.iff)) + R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + proper__sym__impl__iff__2 A eqA + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + eqA x y) + (H0 : cupicef.Term cupicef.prop (eqA x y) => eqA y x)))) + (Coq__Classes__RelationClasses.Symmetric A eqA) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (eqA x y) => + Coq__Classes__RelationClasses.symmetry A eqA + (Coq__Classes__RelationClasses.Equivalence__Symmetric A eqA equ) x + y H0)) + A eqA + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + eqA x y) + (H0 : cupicef.Term cupicef.prop (eqA x y) => eqA y x)))) + (Coq__Classes__RelationClasses.Symmetric A eqA) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (eqA x y) => + Coq__Classes__RelationClasses.symmetry A eqA + (Coq__Classes__RelationClasses.Equivalence__Symmetric A eqA equ) x + y H0)) + R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x_27_) + (Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Program__Basics.impl (R x) (R x_27_))))) + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Program__Basics.impl)) + R) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (eqA x x_27_) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA y y_27_) + (Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Program__Basics.impl (R x y) (R x_27_ y_27_))))) + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Program__Basics.impl (R x) (R x_27_)) + cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hy : cupicef.Term cupicef.prop (eqA y y_27_) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R x y) + (Hr : cupicef.Term cupicef.prop (R x y) => R x_27_ y_27_)) + (Coq__Program__Basics.impl (R x y) (R x_27_ y_27_)) cupicef.I + (Hr : cupicef.Term cupicef.prop (R x y) => + Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PreOrder__Transitive A R preo) + x_27_ x y_27_ + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA x x_27_) + (__ : + cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) + (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R x x_27_) + (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + R x_27_ x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff (eqA x x_27_) + (Coq__Classes__RelationClasses.relation__conjunction + A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x_27_)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eqA x x_27_) + (Coq__Classes__RelationClasses.relation__conjunction + A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x_27_)) => + R x_27_ x)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) + (R x_27_ x)) => + eqA x x_27_))) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x_27_) + (__ : cupicef.Term cupicef.prop (eqA x x_27_) => + Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) => + eqA x x_27_)) + (R x_27_ x) + (H1 : + (__ : cupicef.Term cupicef.prop (eqA x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x_27_) (R x_27_ x)) -> + cupicef.Term cupicef.prop (eqA x x_27_)) => + Coq__Init__Logic.and__ind (R x x_27_) (R x_27_ x) + (R x_27_ x) + (H3 : cupicef.Term cupicef.prop (R x x_27_) => + H4 : cupicef.Term cupicef.prop (R x_27_ x) => + H4) + (let__H0 A eqA equ R preo H x x_27_ Hx y y_27_ Hy + Hr H0 H1 H2)) + H0) + (Coq__Classes__RelationClasses.partial__order__equivalence + A eqA equ R preo H x x_27_)) + (Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.PreOrder__Transitive A R + preo) + x y y_27_ Hr + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term cupicef.prop + (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) + (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) => + R y y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff (eqA y y_27_) + (Coq__Classes__RelationClasses.relation__conjunction + A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + y y_27_)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eqA y y_27_) + (Coq__Classes__RelationClasses.relation__conjunction + A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R) + y y_27_)) => + R y y_27_)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y y_27_) + (__ : + cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) + (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) => + eqA y y_27_))) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y y_27_) + (__ : cupicef.Term cupicef.prop (eqA y y_27_) => + Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) => + eqA y y_27_)) + (R y y_27_) + (H1 : + (__ : cupicef.Term cupicef.prop (eqA y y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) (R y_27_ y))) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y y_27_) + (R y_27_ y)) -> + cupicef.Term cupicef.prop (eqA y y_27_)) => + Coq__Init__Logic.and__ind (R y y_27_) (R y_27_ y) + (R y y_27_) + (H3 : cupicef.Term cupicef.prop (R y y_27_) => + H4 : cupicef.Term cupicef.prop (R y_27_ y) => + H3) + (let__H15 A eqA equ R preo H x x_27_ Hx y y_27_ + Hy Hr H0 H1 H2)) + H0) + (Coq__Classes__RelationClasses.partial__order__equivalence + A eqA equ R preo H y y_27_))))))). + +#TYPE_CLASS_INSTANCE PartialOrder__proper. + +thm PartialOrder__StrictOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.StrictOrder A + (Coq__Classes__RelationClasses.relation__conjunction A R + (Coq__Classes__RelationClasses.complement A eqA))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.PreOrder A R) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA equ R preo) => + Coq__Classes__RelationClasses.Build__StrictOrder A + (Coq__Classes__RelationClasses.relation__conjunction A R + (Coq__Classes__RelationClasses.complement A eqA)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R x x) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term cupicef.prop (eqA x x) => + Coq__Init__Logic.False))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term cupicef.prop (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.False))) + (Coq__Classes__RelationClasses.Irreflexive A + (Coq__Classes__RelationClasses.relation__conjunction A R + (Coq__Classes__RelationClasses.complement A eqA))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term cupicef.prop (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.match____and cupicef.prop (R x x) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x) + (__ : cupicef.Term cupicef.prop (eqA x x) => + Coq__Init__Logic.False)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x x) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x) + (__ : cupicef.Term cupicef.prop (eqA x x) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.False) + (__tmp : cupicef.Term cupicef.prop (R x x) => + Hx : + (__ : cupicef.Term cupicef.prop (eqA x x) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Hx + (Coq__Classes__RelationClasses.Equivalence__Reflexive A eqA equ + x)) + H0)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and (R x y) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.False))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x y) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y z) + (__ : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA y z) + (__ : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.and (R x z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (eqA x z) + (__0 : cupicef.Term cupicef.prop (eqA x z) => + Coq__Init__Logic.False)))))))) + (Coq__Classes__RelationClasses.Transitive A + (Coq__Classes__RelationClasses.relation__conjunction A R + (Coq__Classes__RelationClasses.complement A eqA))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x y) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.match____and cupicef.prop (R x y) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.False)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R x y) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA y z) + (__0 : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA y z) + (__0 : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.and (R x z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x z) + (__1 : cupicef.Term cupicef.prop (eqA x z) => + Coq__Init__Logic.False)))) + (Hxy : cupicef.Term cupicef.prop (R x y) => + Hxy_27_ : + (__ : cupicef.Term cupicef.prop (eqA x y) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA y z) + (__ : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.match____and cupicef.prop (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + eqA y z) + (__ : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (R y z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA y z) + (__ : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.False))) => + Coq__Init__Logic.and (R x z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x z) + (__0 : cupicef.Term cupicef.prop (eqA x z) => + Coq__Init__Logic.False))) + (Hyz : cupicef.Term cupicef.prop (R y z) => + Hyz_27_ : + (__ : cupicef.Term cupicef.prop (eqA y z) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj (R x z) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x z) + (__ : cupicef.Term cupicef.prop (eqA x z) => + Coq__Init__Logic.False)) + (Coq__Classes__RelationClasses.PreOrder__Transitive A R preo + x y z Hxy Hyz) + (Hxz : cupicef.Term cupicef.prop (eqA x z) => + Hxy_27_ + (Coq__Classes__RelationClasses.partial__order__antisym A + eqA equ R preo H x y Hxy + ((lemma : cupicef.Term cupicef.prop (eqA x z) => + Reflexive__partial__app__morphism A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + R + (subrelation__proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff)) + R (PartialOrder__proper A eqA equ R preo H) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl))) + Coq__Init__Datatypes.tt + (subrelation__respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA eqA (subrelation__refl A eqA) + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff) + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + (subrelation__respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA eqA (subrelation__refl A eqA) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + iff__flip__impl__subrelation))) + y + (reflexive__proper__proxy A eqA + (Coq__Classes__RelationClasses.Equivalence__Reflexive + A eqA equ) + y) + x z lemma) + Hxz Hyz)))) + H1) + H0)). + +thm StrictOrder__PreOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H0 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.StrictOrder A R) -> + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Init__Logic.iff)) + R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PreOrder A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.StrictOrder A R) => + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Init__Logic.iff)) + R) => + Coq__Classes__RelationClasses.Build__PreOrder A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.or (R x x) (eqA x x))) + (Coq__Classes__RelationClasses.Reflexive A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.or__intror (R x x) (eqA x x) + (Coq__Classes__RelationClasses.reflexivity A eqA + (Coq__Classes__RelationClasses.Equivalence__Reflexive A eqA H) + x))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Classes__RelationClasses.relation__disjunction A R + eqA x y) + (H2 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction + A R eqA x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__disjunction A + R eqA y z) + (__ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction + A R eqA y z) => + Coq__Classes__RelationClasses.relation__disjunction A + R eqA x z)))))) + (Coq__Classes__RelationClasses.Transitive A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction A R eqA x y) => + Coq__Init__Logic.match____or cupicef.prop (R x y) (eqA x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R x y) (eqA x y)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__disjunction A R eqA y + z) + (__0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction A R + eqA y z) => + Coq__Classes__RelationClasses.relation__disjunction A R eqA x + z)) + (Hxy : cupicef.Term cupicef.prop (R x y) => + H3 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction A R eqA + y z) => + Coq__Init__Logic.match____or cupicef.prop (R y z) (eqA y z) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R y z) (eqA y z)) => + Coq__Classes__RelationClasses.relation__disjunction A R eqA x + z) + (Hyz : cupicef.Term cupicef.prop (R y z) => + Coq__Init__Logic.or__introl (R x z) (eqA x z) + (Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.StrictOrder__Transitive A + R H0) + x y z Hxy Hyz)) + (Hyz : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.or__introl (R x z) (eqA x z) + ((lemma : cupicef.Term cupicef.prop (eqA y z) => + Reflexive__partial__app__morphism A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + R + (subrelation__proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff)) + R H1 + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl))) + Coq__Init__Datatypes.tt + (subrelation__respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA eqA (subrelation__refl A eqA) + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff) + (respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + (subrelation__respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA eqA (subrelation__refl A eqA) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + iff__flip__impl__subrelation))) + x + (reflexive__proper__proxy A eqA + (Coq__Classes__RelationClasses.Equivalence__Reflexive + A eqA H) + x) + z y + (Coq__Classes__RelationClasses.symmetry A eqA + (Coq__Classes__RelationClasses.Equivalence__Symmetric + A eqA H) + y z lemma)) + Hyz Hxy)) + H3) + (Hxy : cupicef.Term cupicef.prop (eqA x y) => + H3 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__disjunction A R eqA + y z) => + Coq__Init__Logic.match____or cupicef.prop (R y z) (eqA y z) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R y z) (eqA y z)) => + Coq__Classes__RelationClasses.relation__disjunction A R eqA x + z) + (Hyz : cupicef.Term cupicef.prop (R y z) => + Coq__Init__Logic.or__introl (R x z) (eqA x z) + ((lemma : cupicef.Term cupicef.prop (eqA x y) => + subrelation__proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff)) + R H1 + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl))) + Coq__Init__Datatypes.tt + (subrelation__respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + eqA eqA (subrelation__refl A eqA) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA Coq__Init__Logic.iff) + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl)) + (subrelation__respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + eqA eqA (subrelation__refl A eqA) + Coq__Init__Logic.iff + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + iff__flip__impl__subrelation)) + x y lemma z z + (reflexive__proper__proxy A eqA + (Coq__Classes__RelationClasses.Equivalence__Reflexive + A eqA H) + z)) + Hxy Hyz)) + (Hyz : cupicef.Term cupicef.prop (eqA y z) => + Coq__Init__Logic.or__intror (R x z) (eqA x z) + (Coq__Classes__RelationClasses.transitivity A eqA + (Coq__Classes__RelationClasses.Equivalence__Transitive A + eqA H) + x y z Hxy Hyz)) + H3) + H2)). + +thm StrictOrder__PartialOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H0 : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.StrictOrder A R) -> + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Init__Logic.iff)) + R) -> + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.PartialOrder A eqA H + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (StrictOrder__PreOrder A eqA H R H0 H1)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.StrictOrder A R) => + H1 : + cupicef.Term cupicef.prop + (Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + eqA + (respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + eqA Coq__Init__Logic.iff)) + R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (eqA x) + (Coq__Classes__RelationClasses.relation__conjunction A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__disjunction A R eqA)) + x))) + (Coq__Classes__RelationClasses.PartialOrder A eqA H + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (StrictOrder__PreOrder A eqA H R H0 H1)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff Coq__Classes__RelationClasses.Tnil + (eqA x y) + (Coq__Classes__RelationClasses.relation__conjunction A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__disjunction A R + eqA)) + x y))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff + (Coq__Classes__RelationClasses.Tcons A + Coq__Classes__RelationClasses.Tnil) + (eqA x) + (Coq__Classes__RelationClasses.relation__conjunction A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__disjunction A R eqA)) + x)) + cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x))) => + eqA x y))) + (Coq__Classes__RelationClasses.pointwise__lifting + Coq__Init__Logic.iff Coq__Classes__RelationClasses.Tnil + (eqA x y) + (Coq__Classes__RelationClasses.relation__conjunction A + (Coq__Classes__RelationClasses.relation__disjunction A R eqA) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__disjunction A R + eqA)) + x y)) + cupicef.I + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x))) => + eqA x y)) + (H2 : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.conj (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x)) + (Coq__Init__Logic.or__intror (R x y) (eqA x y) H2) + (Coq__Init__Logic.or__intror (R y x) (eqA y x) + (cupicef.cast cupicef.prop cupicef.prop (eqA y x) + (eqA y x) cupicef.I + (Coq__Classes__RelationClasses.symmetry A eqA + (Coq__Classes__RelationClasses.Equivalence__Symmetric + A eqA H) + x y H2)))) + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x))) => + Coq__Init__Logic.and__ind + (Coq__Init__Logic.or (R x y) (eqA x y)) + (Coq__Init__Logic.or (R y x) (eqA y x)) (eqA x y) + (H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R x y) (eqA x y)) => + H4 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R y x) (eqA y x)) => + Coq__Init__Logic.or__ind (R x y) (eqA x y) (eqA x y) + (H5 : cupicef.Term cupicef.prop (R x y) => + Coq__Init__Logic.or__ind (R y x) (eqA y x) (eqA x y) + (H6 : cupicef.Term cupicef.prop (R y x) => + Coq__Init__Logic.False__ind (eqA x y) + (Coq__Classes__RelationClasses.StrictOrder__Irreflexive + A R H0 x + (Coq__Classes__RelationClasses.transitivity A R + (Coq__Classes__RelationClasses.StrictOrder__Transitive + A R H0) + x y x H5 H6))) + (H6 : cupicef.Term cupicef.prop (eqA y x) => + cupicef.cast cupicef.prop cupicef.prop (eqA x y) + (eqA x y) cupicef.I + (Coq__Classes__RelationClasses.symmetry A eqA + (Coq__Classes__RelationClasses.Equivalence__Symmetric + A eqA H) + y x H6)) + H4) + (H5 : cupicef.Term cupicef.prop (eqA x y) => + Coq__Init__Logic.or__ind (R y x) (eqA y x) (eqA x y) + (H6 : cupicef.Term cupicef.prop (R y x) => H5) + (H6 : cupicef.Term cupicef.prop (eqA y x) => H5) H4) + H3) + H2)))). + +(; End of translation. ;) diff --git a/out/Coq__Classes__Morphisms__Prop.dk b/out/Coq__Classes__Morphisms__Prop.dk new file mode 100644 index 000000000..23fe9ecfc --- /dev/null +++ b/out/Coq__Classes__Morphisms__Prop.dk @@ -0,0 +1,5654 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def not__impl__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl Coq__Init__Logic.not Coq__Init__Logic.not) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + H1 : cupicef.Term cupicef.prop y => + H0 (H H1). + +def not__impl__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl) + Coq__Init__Logic.not) + +:= not__impl__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE not__impl__morphism. + +def let__H3 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) -> + H3 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + H3 : cupicef.Term cupicef.prop y => + H1 H3. + +def let__H1 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) -> + H3 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + H3 : cupicef.Term cupicef.prop y => + H0 (let__H3 x y H H0 H1 H2 H3). + +def let__H0 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) -> + H3 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + H3 : cupicef.Term cupicef.prop y => + H2 (let__H3 x y H H0 H1 H2 H3). + +def let__H4 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) -> + H3 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) => + H3 : cupicef.Term cupicef.prop x => + H0 H3. + +def let__H2 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) -> + H3 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) => + H3 : cupicef.Term cupicef.prop x => + H1 (let__H4 x y H H0 H1 H2 H3). + +def let__H5 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) -> + H3 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) => + H3 : cupicef.Term cupicef.prop x => + H2 (let__H4 x y H H0 H1 H2 H3). + +def not__iff__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff Coq__Init__Logic.not + Coq__Init__Logic.not) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + (Coq__Init__Logic.iff (Coq__Init__Logic.not x) (Coq__Init__Logic.not y)) + (H0 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H1 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + Coq__Init__Logic.not y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not y) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) => + Coq__Init__Logic.not x)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not x) => + H3 : cupicef.Term cupicef.prop y => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H0 x y H H0 H1 H2 H3)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not y) => + H3 : cupicef.Term cupicef.prop x => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H5 x y H H0 H1 H2 H3))) + H. + +def not__iff__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff) + Coq__Init__Logic.not) + +:= not__iff__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE not__iff__morphism. + +def and__impl__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + Coq__Program__Basics.impl + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl Coq__Program__Basics.impl) + Coq__Init__Logic.and Coq__Init__Logic.and) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + Coq__Init__Logic.match____and cupicef.prop x x0 + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + Coq__Init__Logic.and y y0) + (H2 : cupicef.Term cupicef.prop x => + H3 : cupicef.Term cupicef.prop x0 => + Coq__Init__Logic.conj y y0 (H H2) (H0 H3)) + H1. + +def and__impl__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Program__Basics.impl + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl Coq__Program__Basics.impl)) + Coq__Init__Logic.and) + +:= and__impl__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE and__impl__morphism. + +def let__H6 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) -> + H6 : cupicef.Term cupicef.prop x -> + H7 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + H6 : cupicef.Term cupicef.prop x => + H7 : cupicef.Term cupicef.prop x0 => + H1 H6. + +def let__H7 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) -> + H6 : cupicef.Term cupicef.prop x -> + H7 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + H6 : cupicef.Term cupicef.prop x => + H7 : cupicef.Term cupicef.prop x0 => + H3 H7. + +def let__H : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) -> + H6 : cupicef.Term cupicef.prop x -> + H7 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + H6 : cupicef.Term cupicef.prop x => + H7 : cupicef.Term cupicef.prop x0 => + H2 (let__H6 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7). + +def let__H8 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) -> + H6 : cupicef.Term cupicef.prop x -> + H7 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + H6 : cupicef.Term cupicef.prop x => + H7 : cupicef.Term cupicef.prop x0 => + H4 (let__H7 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7). + +def let__H9 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) -> + H6 : cupicef.Term cupicef.prop y -> + H7 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + H6 : cupicef.Term cupicef.prop y => + H7 : cupicef.Term cupicef.prop y0 => + H2 H6. + +def let__H10 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) -> + H6 : cupicef.Term cupicef.prop y -> + H7 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + H6 : cupicef.Term cupicef.prop y => + H7 : cupicef.Term cupicef.prop y0 => + H4 H7. + +def let__H11 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) -> + H6 : cupicef.Term cupicef.prop y -> + H7 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + H6 : cupicef.Term cupicef.prop y => + H7 : cupicef.Term cupicef.prop y0 => + H1 (let__H9 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7). + +def let__H12 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) -> + H6 : cupicef.Term cupicef.prop y -> + H7 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + H6 : cupicef.Term cupicef.prop y => + H7 : cupicef.Term cupicef.prop y0 => + H3 (let__H10 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7). + +def and__iff__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff) + Coq__Init__Logic.and Coq__Init__Logic.and) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + (Coq__Init__Logic.iff (Coq__Init__Logic.and x x0) + (Coq__Init__Logic.and y y0)) + (H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (Coq__Init__Logic.iff (Coq__Init__Logic.and x x0) + (Coq__Init__Logic.and y y0)) + (H3 : + (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : + (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and x x0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + Coq__Init__Logic.and y y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and y y0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + Coq__Init__Logic.and x x0)) + (H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and x x0) => + Coq__Init__Logic.and__ind x x0 (Coq__Init__Logic.and y y0) + (H6 : cupicef.Term cupicef.prop x => + H7 : cupicef.Term cupicef.prop x0 => + Coq__Init__Logic.conj y y0 + (let__H6 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7) + (let__H7 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7)) + H5) + (H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.and y y0) => + Coq__Init__Logic.and__ind y y0 (Coq__Init__Logic.and x x0) + (H6 : cupicef.Term cupicef.prop y => + H7 : cupicef.Term cupicef.prop y0 => + Coq__Init__Logic.conj x x0 + (let__H9 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7) + (let__H10 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6 H7)) + H5)) + H0) + H. + +def and__iff__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff)) + Coq__Init__Logic.and) + +:= and__iff__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE and__iff__morphism. + +def let__H13 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H2 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H2 : cupicef.Term cupicef.prop x => + H H2. + +def let__H14 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H2 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H2 : cupicef.Term cupicef.prop x0 => + H0 H2. + +def or__impl__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + Coq__Program__Basics.impl + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl Coq__Program__Basics.impl) + Coq__Init__Logic.or Coq__Init__Logic.or) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + Coq__Init__Logic.or__ind x x0 (Coq__Init__Logic.or y y0) + (H2 : cupicef.Term cupicef.prop x => + Coq__Init__Logic.or__introl y y0 (let__H13 x y H x0 y0 H0 H1 H2)) + (H2 : cupicef.Term cupicef.prop x0 => + Coq__Init__Logic.or__intror y y0 (let__H14 x y H x0 y0 H0 H1 H2)) + H1. + +def or__impl__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Program__Basics.impl + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl Coq__Program__Basics.impl)) + Coq__Init__Logic.or) + +:= or__impl__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE or__impl__morphism. + +def let__H15 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H6 : cupicef.Term cupicef.prop x => + H1 H6. + +def let__H16 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H6 : cupicef.Term cupicef.prop x => + H2 (let__H15 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H17 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H6 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H6 : cupicef.Term cupicef.prop x0 => + H3 H6. + +def let__H18 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) -> + H6 : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + H6 : cupicef.Term cupicef.prop x0 => + H4 (let__H17 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H19 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + H6 : cupicef.Term cupicef.prop y => + H2 H6. + +def let__H20 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + H6 : cupicef.Term cupicef.prop y => + H1 (let__H19 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H21 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) -> + H6 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + H6 : cupicef.Term cupicef.prop y0 => + H4 H6. + +def let__H22 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) -> + H6 : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + H6 : cupicef.Term cupicef.prop y0 => + H3 (let__H21 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def or__iff__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff) + Coq__Init__Logic.or Coq__Init__Logic.or) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + (Coq__Init__Logic.iff (Coq__Init__Logic.or x x0) + (Coq__Init__Logic.or y y0)) + (H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (Coq__Init__Logic.iff (Coq__Init__Logic.or x x0) + (Coq__Init__Logic.or y y0)) + (H3 : + (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : + (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or x x0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + Coq__Init__Logic.or y y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or y y0) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + Coq__Init__Logic.or x x0)) + (H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or x x0) => + Coq__Init__Logic.or__ind x x0 (Coq__Init__Logic.or y y0) + (H6 : cupicef.Term cupicef.prop x => + Coq__Init__Logic.or__introl y y0 + (let__H15 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6)) + (H6 : cupicef.Term cupicef.prop x0 => + Coq__Init__Logic.or__intror y y0 + (let__H17 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6)) + H5) + (H5 : cupicef.Term cupicef.prop (Coq__Init__Logic.or y y0) => + Coq__Init__Logic.or__ind y y0 (Coq__Init__Logic.or x x0) + (H6 : cupicef.Term cupicef.prop y => + Coq__Init__Logic.or__introl x x0 + (let__H19 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6)) + (H6 : cupicef.Term cupicef.prop y0 => + Coq__Init__Logic.or__intror x x0 + (let__H21 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6)) + H5)) + H0) + H. + +def or__iff__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff)) + Coq__Init__Logic.or) + +:= or__iff__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE or__iff__morphism. + +def let__H23 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + H2 H6. + +def let__H24 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + H1 (let__H23 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H25 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + H5 (let__H23 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H26 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + H3 (let__H25 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H27 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) -> + H6 : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + H4 (let__H26 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H28 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + H1 H6. + +def let__H29 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + H2 (let__H28 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H30 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + H5 (let__H28 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H31 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + H4 (let__H30 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def let__H32 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) -> + x0 : cupicef.Univ cupicef.prop -> + y0 : cupicef.Univ cupicef.prop -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) -> + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) -> + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) -> + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) -> + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) -> + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) -> + H6 : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop y0 + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + H3 : (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + H5 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + H3 (let__H31 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6). + +def iff__iff__iff__impl__morphism__obligation__1 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff) + Coq__Program__Basics.impl Coq__Program__Basics.impl) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x y) => + x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff x0 y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => x)) + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => y0))) + (H1 : (__ : cupicef.Term cupicef.prop x -> cupicef.Term cupicef.prop y) => + H2 : (__ : cupicef.Term cupicef.prop y -> cupicef.Term cupicef.prop x) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => y0))) + (H3 : + (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H4 : + (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__ : cupicef.Term cupicef.prop x => x0)) + (__ : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__0 : cupicef.Term cupicef.prop y => y0))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y + (__ : cupicef.Term cupicef.prop y => y0)) + (__ : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x + (__0 : cupicef.Term cupicef.prop x => x0))) + (H5 : + (__ : cupicef.Term cupicef.prop x -> + cupicef.Term cupicef.prop x0) => + H6 : cupicef.Term cupicef.prop y => + let__H26 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6) + (H5 : + (__ : cupicef.Term cupicef.prop y -> + cupicef.Term cupicef.prop y0) => + H6 : cupicef.Term cupicef.prop x => + let__H31 x y H x0 y0 H0 H1 H2 H3 H4 H5 H6)) + H0) + H. + +def iff__iff__iff__impl__morphism : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__0 : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (__ : cupicef.Univ cupicef.prop => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Init__Logic.iff + (Coq__Classes__Morphisms.respectful + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff Coq__Init__Logic.iff)) + Coq__Program__Basics.impl) + +:= iff__iff__iff__impl__morphism__obligation__1. + +#TYPE_CLASS_INSTANCE iff__iff__iff__impl__morphism. + +def ex__iff__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + Coq__Init__Logic.iff (Coq__Init__Logic.ex A) (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff x y) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.ex A x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A x) => + Coq__Init__Logic.ex A y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.ex A y) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A y) => + Coq__Init__Logic.ex A x)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A x) => + Coq__Init__Logic.ex__ind A x (Coq__Init__Logic.ex A y) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (x x0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x0) + (__ : cupicef.Term cupicef.prop (x x0) => y x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (y x0) + (__ : cupicef.Term cupicef.prop (y x0) => x x0)) + (Coq__Init__Logic.ex A y) + (H2 : + (__ : cupicef.Term cupicef.prop (x x0) -> + cupicef.Term cupicef.prop (y x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (y x0) -> + cupicef.Term cupicef.prop (x x0)) => + Coq__Init__Logic.ex__intro A y x0 (H2 H1)) + (H x0)) + H0) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A y) => + Coq__Init__Logic.ex__ind A y (Coq__Init__Logic.ex A x) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (y x0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x0) + (__ : cupicef.Term cupicef.prop (x x0) => y x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (y x0) + (__ : cupicef.Term cupicef.prop (y x0) => x x0)) + (Coq__Init__Logic.ex A x) + (H2 : + (__ : cupicef.Term cupicef.prop (x x0) -> + cupicef.Term cupicef.prop (y x0)) => + H3 : + (__ : cupicef.Term cupicef.prop (y x0) -> + cupicef.Term cupicef.prop (x x0)) => + Coq__Init__Logic.ex__intro A x x0 (H3 H1)) + (H x0)) + H0). + +def ex__iff__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff) + Coq__Init__Logic.iff) + (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + ex__iff__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE ex__iff__morphism. + +def ex__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl (Coq__Init__Logic.ex A) + (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl x y) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A x) => + Coq__Init__Logic.ex__ind A x (Coq__Init__Logic.ex A y) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (x x0) => + Coq__Init__Logic.ex__intro A y x0 (H x0 H1)) + H0. + +def ex__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl) + (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + ex__impl__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE ex__impl__morphism. + +def ex__flip__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + (Coq__Init__Logic.ex A) (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl) + x y) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A y) => + Coq__Init__Logic.ex__ind A y (Coq__Init__Logic.ex A x) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (y x0) => + Coq__Init__Logic.ex__intro A x x0 (H x0 H1)) + H0. + +def ex__flip__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Init__Logic.ex A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + ex__flip__impl__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE ex__flip__impl__morphism. + +def all__iff__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + Coq__Init__Logic.iff (Coq__Init__Logic.all A) (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff x y) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.all A x) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.all A x) => + Coq__Init__Logic.all A y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.all A y) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.all A y) => + Coq__Init__Logic.all A x)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.all A x) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x0) + (__ : cupicef.Term cupicef.prop (x x0) => y x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (y x0) + (__ : cupicef.Term cupicef.prop (y x0) => x x0)) + (y x0) + (H1 : + (__ : cupicef.Term cupicef.prop (x x0) -> + cupicef.Term cupicef.prop (y x0)) => + H2 : + (__ : cupicef.Term cupicef.prop (y x0) -> + cupicef.Term cupicef.prop (x x0)) => + H1 (H0 x0)) + (H x0)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.all A y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x0) + (__ : cupicef.Term cupicef.prop (x x0) => y x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (y x0) + (__ : cupicef.Term cupicef.prop (y x0) => x x0)) + (x x0) + (H1 : + (__ : cupicef.Term cupicef.prop (x x0) -> + cupicef.Term cupicef.prop (y x0)) => + H2 : + (__ : cupicef.Term cupicef.prop (y x0) -> + cupicef.Term cupicef.prop (x x0)) => + H2 (H0 x0)) + (H x0)). + +def all__iff__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff) + Coq__Init__Logic.iff) + (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + all__iff__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE all__iff__morphism. + +def all__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl (Coq__Init__Logic.all A) + (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (A0 : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A0 + (__ : cupicef.Term cupicef.prop A0 => B)) + x y) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.all A x) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H x0 (H0 x0). + +def all__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl) + Coq__Program__Basics.impl) + (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + all__impl__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE all__impl__morphism. + +def all__flip__impl__morphism__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + (Coq__Init__Logic.all A) (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (x0 : cupicef.Univ cupicef.prop => + y0 : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + x y) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.all A y) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H x0 (H0 x0). + +def all__flip__impl__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__Morphisms.pointwise__relation A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Program__Basics.flip + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Program__Basics.impl)) + (Coq__Init__Logic.all A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + all__flip__impl__morphism__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE all__flip__impl__morphism. + +thm Acc__pt__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + E : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A E) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + E + (Coq__Classes__Morphisms.respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + E Coq__Init__Logic.iff)) + R) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E Coq__Init__Logic.iff) + (Coq__Init__Wf.Acc A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + E : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A E) => + H0 : + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + E + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + E Coq__Init__Logic.iff)) + R) => + Coq__Classes__Morphisms.proper__sym__impl__iff A E + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + E x y) (H1 : cupicef.Term cupicef.prop (E x y) => E y x)))) + (Coq__Classes__RelationClasses.Symmetric A E) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (E x y) => + Coq__Classes__RelationClasses.symmetry A E + (Coq__Classes__RelationClasses.Equivalence__Symmetric A E H) x y + H1)) + (Coq__Init__Wf.Acc A R) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + E x y) + (EQ : cupicef.Term cupicef.prop (E x y) => + Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R x) + (Coq__Init__Wf.Acc A R y))))) + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + E Coq__Program__Basics.impl) + (Coq__Init__Wf.Acc A R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + EQ : cupicef.Term cupicef.prop (E x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Wf.Acc A R x) + (WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R x) => + Coq__Init__Wf.Acc A R y)) + (Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R x) + (Coq__Init__Wf.Acc A R y)) + cupicef.I + (WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R x) => + Coq__Init__Wf.Acc__intro A R y + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (R z y) => + Coq__Init__Wf.Acc__inv A R x WF z + ((lemma : cupicef.Term cupicef.prop (E x y) => + Coq__Classes__Morphisms.Reflexive__partial__app__morphism + A + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + E + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + E Coq__Program__Basics.impl) + R + (Coq__Classes__Morphisms.subrelation__proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + E + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E Coq__Init__Logic.iff)) + R H0 + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + E + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E Coq__Program__Basics.impl)) + Coq__Init__Datatypes.tt + (Coq__Classes__Morphisms.subrelation__respectful A + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + E E + (Coq__Classes__Morphisms.subrelation__refl A E) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E Coq__Init__Logic.iff) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E Coq__Program__Basics.impl) + (Coq__Classes__Morphisms.subrelation__respectful A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + E E + (Coq__Classes__Morphisms.subrelation__refl A E) + Coq__Init__Logic.iff Coq__Program__Basics.impl + Coq__Classes__Morphisms.iff__impl__subrelation))) + z + (Coq__Classes__Morphisms.reflexive__proper__proxy A E + (Coq__Classes__RelationClasses.Equivalence__Reflexive + A E H) + z) + y x + (Coq__Classes__RelationClasses.symmetry A E + (Coq__Classes__RelationClasses.Equivalence__Symmetric + A E H) + x y lemma)) + EQ Hz))))). + +#TYPE_CLASS_INSTANCE Acc__pt__morphism. + +def let__H33 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + EQ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A R R_27_) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a_27_) -> + WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __tmp : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R y)) -> + WF_27_ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R_27_ y)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Ryx : cupicef.Term cupicef.prop (R_27_ y x) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R_27_ x0 x1) -> + cupicef.Term cupicef.prop (R x0 x1) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + EQ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A R R_27_) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a_27_) => + WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __tmp : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R y)) => + WF_27_ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R_27_ y)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ryx : cupicef.Term cupicef.prop (R_27_ y x) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x0 x1) + (__ : cupicef.Term cupicef.prop (R x0 x1) => R_27_ x0 x1)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27_ x0 x1) + (__ : cupicef.Term cupicef.prop (R_27_ x0 x1) => R x0 x1)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x0 x1) + (__ : cupicef.Term cupicef.prop (R x0 x1) => R_27_ x0 x1)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R_27_ x0 x1) + (__ : cupicef.Term cupicef.prop (R_27_ x0 x1) => R x0 x1))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R_27_ x0 x1) + (__0 : cupicef.Term cupicef.prop (R_27_ x0 x1) => R x0 x1)) + (__ : + (__ : cupicef.Term cupicef.prop (R x0 x1) -> + cupicef.Term cupicef.prop (R_27_ x0 x1)) => + __0 : + (__0 : cupicef.Term cupicef.prop (R_27_ x0 x1) -> + cupicef.Term cupicef.prop (R x0 x1)) => + __0) + (EQ x0 x1). + +thm Acc__rel__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Init__Logic.iff)) + (Coq__Init__Wf.Acc A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Classes__Morphisms.proper__sym__impl__iff__2 + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Classes__RelationClasses.relation__equivalence A) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence A x y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A + x y) => + Coq__Classes__RelationClasses.relation__equivalence A y x)))) + (Coq__Classes__RelationClasses.Symmetric + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Classes__RelationClasses.relation__equivalence A)) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A x y) => + Coq__Classes__RelationClasses.symmetry + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Classes__RelationClasses.relation__equivalence A) + (Coq__Classes__RelationClasses.Equivalence__Symmetric + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Classes__RelationClasses.relation__equivalence A) + (Coq__Classes__RelationClasses.relation__equivalence__equivalence + A)) + x y H)) + A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x)))) + (Coq__Classes__RelationClasses.Symmetric A + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y H)) + (Coq__Init__Wf.Acc A) + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence A R + R_27_) + (EQ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A + R R_27_) => + Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R) + (Coq__Init__Wf.Acc A R_27_))))) + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__RelationClasses.relation__equivalence A) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl)) + (Coq__Init__Wf.Acc A)) + cupicef.I + (R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + EQ : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A R R_27_) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a_27_) + (Ha : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a_27_) => + Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R a) + (Coq__Init__Wf.Acc A R_27_ a_27_))))) + (Coq__Classes__Morphisms.respectful A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R) + (Coq__Init__Wf.Acc A R_27_)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ha : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a_27_) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Wf.Acc A R a) + (WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a) => + (a_27_0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R_27_ a_27_0) a_27_)) + (Coq__Program__Basics.impl (Coq__Init__Wf.Acc A R a) + (Coq__Init__Wf.Acc A R_27_ a_27_)) + cupicef.I + (WF : cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R a) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (a_27_0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R_27_ a_27_0) + (Coq__Init__Wf.Acc__ind A R + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R_27_ a0) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __tmp : + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Coq__Init__Wf.Acc A R y)) => + WF_27_ : + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Wf.Acc A R_27_ y)) => + Coq__Init__Wf.Acc__intro A R_27_ x + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Ryx : cupicef.Term cupicef.prop (R_27_ y x) => + WF_27_ y + (let__H33 A R R_27_ EQ a a_27_ Ha WF x __tmp WF_27_ + y Ryx y x Ryx))) + a WF) + a_27_ Ha)))). + +#TYPE_CLASS_INSTANCE Acc__rel__morphism. + +thm well__founded__morphism : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff) + (Coq__Init__Wf.well__founded A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff) + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a))) + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff) + (Coq__Init__Wf.well__founded A)) + cupicef.I + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a)) + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a))) + (Coq__Classes__Morphisms.Proper + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff) + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a))) + cupicef.I + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Relations__Relation__Definitions.relation A) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Classes__RelationClasses.relation__equivalence A x + y) + (H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence + A x y) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A x a)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a)))))) + (Coq__Classes__Morphisms.respectful + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Classes__RelationClasses.relation__equivalence A) + Coq__Init__Logic.iff + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a)) + (R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A R a))) + cupicef.I + (x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.relation__equivalence A x y) => + Coq__Classes__Morphisms.trans__co__eq__inv__impl__morphism + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff + Coq__Classes__RelationClasses.iff__Transitive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A x a)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a)) + (all__iff__morphism A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A x a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Acc__rel__morphism A x y H a a + (Coq__Classes__Morphisms.eq__proper__proxy A a))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a)) + (Coq__Classes__Morphisms.eq__proper__proxy + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a))) + (Coq__Classes__RelationClasses.reflexivity + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + Coq__Init__Logic.iff + Coq__Classes__RelationClasses.iff__Reflexive + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Wf.Acc A y a)))))). + +#TYPE_CLASS_INSTANCE well__founded__morphism. + +(; End of translation. ;) diff --git a/out/Coq__Classes__RelationClasses.dk b/out/Coq__Classes__RelationClasses.dk new file mode 100644 index 000000000..d15be60fa --- /dev/null +++ b/out/Coq__Classes__RelationClasses.dk @@ -0,0 +1,17089 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => R x x). + +#TYPE_CLASS Reflexive. + +def reflexivity : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (R x x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + Reflexive0. + +def complement : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => Coq__Init__Logic.False). + +thm complement__inverse : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (complement A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (complement A R))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (complement A R)). + +def Irreflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Reflexive A (complement A R). + +#TYPE_CLASS Irreflexive. + +def irreflexivity : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) -> + cupicef.Term cupicef.prop (Reflexive A (complement A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) => + Irreflexive0. + +def Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R y x))). + +#TYPE_CLASS Symmetric. + +def symmetry : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (R y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + Symmetric0. + +def Asymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y x) + (__0 : cupicef.Term cupicef.prop (R y x) => + Coq__Init__Logic.False)))). + +#TYPE_CLASS Asymmetric. + +def asymmetry : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Asymmetric0 : cupicef.Term cupicef.prop (Asymmetric A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Asymmetric0 : cupicef.Term cupicef.prop (Asymmetric A R) => + Asymmetric0. + +def Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R y z) (__0 : cupicef.Term cupicef.prop (R y z) => R x z))))). + +#TYPE_CLASS Transitive. + +def transitivity : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (R y z) -> + cupicef.Term cupicef.prop (R x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Transitive0. + +def PreOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS PreOrder. + +def Build__PreOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PreOrder__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) -> + PreOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term cupicef.prop (PreOrder A R). + +[ ] cupicef.code_guarded? _ (Build__PreOrder _ _ _ _) --> cupicef.guarded. + +def match____PreOrder : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (PreOrder A R) -> cupicef.Univ s) -> + case__Build__PreOrder : + (PreOrder__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) -> + PreOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term s + (P (Build__PreOrder A R PreOrder__Reflexive0 PreOrder__Transitive0))) -> + x : cupicef.Term cupicef.prop (PreOrder A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__PreOrder, PreOrder__Reflexive0, PreOrder__Transitive0] + match____PreOrder s A R P case__Build__PreOrder + (Build__PreOrder A R PreOrder__Reflexive0 PreOrder__Transitive0) + --> + case__Build__PreOrder PreOrder__Reflexive0 PreOrder__Transitive0. + +[ s, A, R, P, s'] + match____PreOrder s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PreOrder s' A R (x => P x). + +def PreOrder__Reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PreOrder0 : cupicef.Term cupicef.prop (PreOrder A R) -> + cupicef.Term cupicef.prop (Reflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + PreOrder0 : cupicef.Term cupicef.prop (PreOrder A R) => + match____PreOrder cupicef.prop A R + (PreOrder1 : cupicef.Term cupicef.prop (PreOrder A R) => Reflexive A R) + (PreOrder__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + PreOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + PreOrder__Reflexive0) + PreOrder0. + +#TYPE_CLASS_INSTANCE PreOrder__Reflexive. + +def PreOrder__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PreOrder0 : cupicef.Term cupicef.prop (PreOrder A R) -> + cupicef.Term cupicef.prop (Transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + PreOrder0 : cupicef.Term cupicef.prop (PreOrder A R) => + match____PreOrder cupicef.prop A R + (PreOrder1 : cupicef.Term cupicef.prop (PreOrder A R) => Transitive A R) + (PreOrder__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + PreOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + PreOrder__Transitive0) + PreOrder0. + +#TYPE_CLASS_INSTANCE PreOrder__Transitive. + +def StrictOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS StrictOrder. + +def Build__StrictOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + StrictOrder__Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) -> + StrictOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term cupicef.prop (StrictOrder A R). + +[ ] cupicef.code_guarded? _ (Build__StrictOrder _ _ _ _) --> cupicef.guarded. + +def match____StrictOrder : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (StrictOrder A R) -> cupicef.Univ s) -> + case__Build__StrictOrder : + (StrictOrder__Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) -> + StrictOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term s + (P + (Build__StrictOrder A R StrictOrder__Irreflexive0 + StrictOrder__Transitive0))) -> + x : cupicef.Term cupicef.prop (StrictOrder A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__StrictOrder, StrictOrder__Irreflexive0, StrictOrder__Transitive0] + match____StrictOrder s A R P case__Build__StrictOrder + (Build__StrictOrder A R StrictOrder__Irreflexive0 + StrictOrder__Transitive0) + --> + case__Build__StrictOrder StrictOrder__Irreflexive0 StrictOrder__Transitive0. + +[ s, A, R, P, s'] + match____StrictOrder s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____StrictOrder s' A R (x => P x). + +def StrictOrder__Irreflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + StrictOrder0 : cupicef.Term cupicef.prop (StrictOrder A R) -> + cupicef.Term cupicef.prop (Irreflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + StrictOrder0 : cupicef.Term cupicef.prop (StrictOrder A R) => + match____StrictOrder cupicef.prop A R + (StrictOrder1 : cupicef.Term cupicef.prop (StrictOrder A R) => + Irreflexive A R) + (StrictOrder__Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) => + StrictOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + StrictOrder__Irreflexive0) + StrictOrder0. + +#TYPE_CLASS_INSTANCE StrictOrder__Irreflexive. + +def StrictOrder__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + StrictOrder0 : cupicef.Term cupicef.prop (StrictOrder A R) -> + cupicef.Term cupicef.prop (Transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + StrictOrder0 : cupicef.Term cupicef.prop (StrictOrder A R) => + match____StrictOrder cupicef.prop A R + (StrictOrder1 : cupicef.Term cupicef.prop (StrictOrder A R) => + Transitive A R) + (StrictOrder__Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) => + StrictOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + StrictOrder__Transitive0) + StrictOrder0. + +#TYPE_CLASS_INSTANCE StrictOrder__Transitive. + +thm StrictOrder__Asymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (StrictOrder A R) -> + cupicef.Term cupicef.prop (Asymmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (StrictOrder A R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (H0 : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R y x) + (H1 : cupicef.Term cupicef.prop (R y x) => + Coq__Init__Logic.False))))) + (Asymmetric A R) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + match____StrictOrder cupicef.prop A R + (__ : cupicef.Term cupicef.prop (StrictOrder A R) => + Coq__Init__Logic.False) + (StrictOrder__Irreflexive0 : + cupicef.Term cupicef.prop (Irreflexive A R) => + StrictOrder__Transitive0 : + cupicef.Term cupicef.prop (Transitive A R) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z) -> + cupicef.Term cupicef.prop (R y z)) => + (H3 : cupicef.Term cupicef.prop (complement A R y y) => + (H4 : + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + __0 : cupicef.Term cupicef.prop (R x z) -> + cupicef.Term cupicef.prop (R y z)) => + H3 (H4 y H1 H0)) (H2 x)) (StrictOrder__Irreflexive0 y)) + (StrictOrder__Transitive0 y)) + H). + +#TYPE_CLASS_INSTANCE StrictOrder__Asymmetric. + +def PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS PER. + +def Build__PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PER__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) -> + PER__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term cupicef.prop (PER A R). + +[ ] cupicef.code_guarded? _ (Build__PER _ _ _ _) --> cupicef.guarded. + +def match____PER : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (PER A R) -> cupicef.Univ s) -> + case__Build__PER : + (PER__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) -> + PER__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term s (P (Build__PER A R PER__Symmetric0 PER__Transitive0))) -> + x : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__PER, PER__Symmetric0, PER__Transitive0] + match____PER s A R P case__Build__PER + (Build__PER A R PER__Symmetric0 PER__Transitive0) + --> + case__Build__PER PER__Symmetric0 PER__Transitive0. + +[ s, A, R, P, s'] + match____PER s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PER s' A R (x => P x). + +def PER__Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PER0 : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term cupicef.prop (Symmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + PER0 : cupicef.Term cupicef.prop (PER A R) => + match____PER cupicef.prop A R + (PER1 : cupicef.Term cupicef.prop (PER A R) => Symmetric A R) + (PER__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + PER__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + PER__Symmetric0) + PER0. + +#TYPE_CLASS_INSTANCE PER__Symmetric. + +def PER__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + PER0 : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term cupicef.prop (Transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + PER0 : cupicef.Term cupicef.prop (PER A R) => + match____PER cupicef.prop A R + (PER1 : cupicef.Term cupicef.prop (PER A R) => Transitive A R) + (PER__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + PER__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + PER__Transitive0) + PER0. + +#TYPE_CLASS_INSTANCE PER__Transitive. + +def Equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS Equivalence. + +def Build__Equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) -> + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) -> + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term cupicef.prop (Equivalence A R). + +[ ] cupicef.code_guarded? _ (Build__Equivalence _ _ _ _ _) --> cupicef.guarded. + +def match____Equivalence : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (Equivalence A R) -> cupicef.Univ s) -> + case__Build__Equivalence : + (Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) -> + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) -> + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term s + (P + (Build__Equivalence A R Equivalence__Reflexive0 + Equivalence__Symmetric0 Equivalence__Transitive0))) -> + x : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__Equivalence, Equivalence__Reflexive0, Equivalence__Symmetric0, Equivalence__Transitive0] + match____Equivalence s A R P case__Build__Equivalence + (Build__Equivalence A R Equivalence__Reflexive0 Equivalence__Symmetric0 + Equivalence__Transitive0) + --> + case__Build__Equivalence Equivalence__Reflexive0 Equivalence__Symmetric0 + Equivalence__Transitive0. + +[ s, A, R, P, s'] + match____Equivalence s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Equivalence s' A R (x => P x). + +def Equivalence__Reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop (Reflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) => + match____Equivalence cupicef.prop A R + (Equivalence1 : cupicef.Term cupicef.prop (Equivalence A R) => + Reflexive A R) + (Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Equivalence__Reflexive0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Reflexive. + +def Equivalence__Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop (Symmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) => + match____Equivalence cupicef.prop A R + (Equivalence1 : cupicef.Term cupicef.prop (Equivalence A R) => + Symmetric A R) + (Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Equivalence__Symmetric0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Symmetric. + +def Equivalence__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop (Transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Equivalence0 : cupicef.Term cupicef.prop (Equivalence A R) => + match____Equivalence cupicef.prop A R + (Equivalence1 : cupicef.Term cupicef.prop (Equivalence A R) => + Transitive A R) + (Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Equivalence__Transitive0) + Equivalence0. + +#TYPE_CLASS_INSTANCE Equivalence__Transitive. + +def Equivalence__PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + E : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop (PER A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + E : cupicef.Term cupicef.prop (Equivalence A R) => + Build__PER A R (Equivalence__Symmetric A R E) + (Equivalence__Transitive A R E). + +#TYPE_CLASS_INSTANCE Equivalence__PER. + +def Equivalence__PreOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + E : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop (PreOrder A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + E : cupicef.Term cupicef.prop (Equivalence A R) => + Build__PreOrder A R (Equivalence__Reflexive A R E) + (Equivalence__Transitive A R E). + +#TYPE_CLASS_INSTANCE Equivalence__PreOrder. + +def Antisymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y x) + (__0 : cupicef.Term cupicef.prop (R y x) => eqA x y)))). + +#TYPE_CLASS Antisymmetric. + +def antisymmetry : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Antisymmetric0 : cupicef.Term cupicef.prop (Antisymmetric A eqA equ R) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (eqA x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Antisymmetric0 : cupicef.Term cupicef.prop (Antisymmetric A eqA equ R) => + Antisymmetric0. + +def subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R_27_ x y))). + +#TYPE_CLASS subrelation. + +def is__subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + subrelation0 : cupicef.Term cupicef.prop (subrelation A R R_27_) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (R_27_ x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + subrelation0 : cupicef.Term cupicef.prop (subrelation A R R_27_) => + subrelation0. + +thm subrelation__symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Symmetric A R) -> + cupicef.Term cupicef.prop + (subrelation A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Symmetric A R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + R x y)))) + (subrelation A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + R) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + symmetry A R H y x H0). + +thm flip__Reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Reflexive A R) -> + cupicef.Term cupicef.prop + (Reflexive A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Reflexive A R) => + H. + +def flip__Irreflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Irreflexive A R) -> + cupicef.Term cupicef.prop + (Irreflexive A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Irreflexive A R) => + irreflexivity A R H. + +def flip__Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Symmetric A R) -> + cupicef.Term cupicef.prop + (Symmetric A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Symmetric A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + symmetry A R H y x H0. + +def flip__Asymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Asymmetric A R) -> + cupicef.Term cupicef.prop + (Asymmetric A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Asymmetric A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + H_27_ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y x) => + asymmetry A R H y x H0 H_27_. + +def flip__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Transitive A R) -> + cupicef.Term cupicef.prop + (Transitive A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Transitive A R) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + H_27_ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) => + transitivity A R H z y x H_27_ H0. + +thm flip__Antisymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Antisymmetric A eqA equ R) -> + cupicef.Term cupicef.prop + (Antisymmetric A eqA equ + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Antisymmetric A eqA equ R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y x) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y x) => + eqA x y))))) + (Antisymmetric A eqA equ + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y x) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + __0 : cupicef.Term cupicef.prop (R y0 y) -> + cupicef.Term cupicef.prop (eqA y y0)) => + (H3 : + (__ : cupicef.Term cupicef.prop (R y x) -> + __0 : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (eqA y x)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (eqA y x)) => + (H5 : cupicef.Term cupicef.prop (eqA y x) => + (H6 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y0) -> + __0 : cupicef.Term cupicef.prop (R y0 x) -> + cupicef.Term cupicef.prop (eqA x y0)) => + H x y H1 H0) (H x)) (H4 H1)) + (H3 H0)) + (H2 x)) + (H y)). + +thm flip__PreOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (PreOrder A R) -> + cupicef.Term cupicef.prop + (PreOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (PreOrder A R) => + match____PreOrder cupicef.prop A R + (__ : cupicef.Term cupicef.prop (PreOrder A R) => + PreOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + (PreOrder__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + PreOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Build__PreOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + PreOrder__Reflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y z) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H3 : + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H5 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H6 : cupicef.Term cupicef.prop (R z x) => H6) (H5 H0)) + (H4 H1)) + (H3 x)) + (H2 y)) + (PreOrder__Transitive0 z)))) + H. + +thm flip__StrictOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (StrictOrder A R) -> + cupicef.Term cupicef.prop + (StrictOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (StrictOrder A R) => + match____StrictOrder cupicef.prop A R + (__ : cupicef.Term cupicef.prop (StrictOrder A R) => + StrictOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + (StrictOrder__Irreflexive0 : cupicef.Term cupicef.prop (Irreflexive A R) => + StrictOrder__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Build__StrictOrder A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + StrictOrder__Irreflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y z) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H3 : + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H5 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H6 : cupicef.Term cupicef.prop (R z x) => H6) (H5 H0)) + (H4 H1)) + (H3 x)) + (H2 y)) + (StrictOrder__Transitive0 z)))) + H. + +thm flip__PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term cupicef.prop + (PER A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (PER A R) => + match____PER cupicef.prop A R + (__ : cupicef.Term cupicef.prop (PER A R) => + PER A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + (PER__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + PER__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Build__PER A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + R x y)))) + (Symmetric A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + (H1 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z) -> + cupicef.Term cupicef.prop (R y z)) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R y0 y)) => + (H3 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R x y)) => + (H4 : cupicef.Term cupicef.prop (R x y) => H4) (H3 H0)) ( + H2 x)) + (PER__Symmetric0 y)) + (PER__Transitive0 y))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y z) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H3 : + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H5 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H6 : cupicef.Term cupicef.prop (R z x) => H6) (H5 H0)) + (H4 H1)) + (H3 x)) + (H2 y)) + (PER__Transitive0 z)))) + H. + +thm flip__Equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Equivalence A R) -> + cupicef.Term cupicef.prop + (Equivalence A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Equivalence A R) => + match____Equivalence cupicef.prop A R + (__ : cupicef.Term cupicef.prop (Equivalence A R) => + Equivalence A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + (Equivalence__Reflexive0 : cupicef.Term cupicef.prop (Reflexive A R) => + Equivalence__Symmetric0 : cupicef.Term cupicef.prop (Symmetric A R) => + Equivalence__Transitive0 : cupicef.Term cupicef.prop (Transitive A R) => + Build__Equivalence A + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + Equivalence__Reflexive0 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + R x y)))) + (Symmetric A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + (H1 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z) -> + cupicef.Term cupicef.prop (R y z)) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R y0 y)) => + (H3 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R x y)) => + (H4 : cupicef.Term cupicef.prop (R x y) => H4) (H3 H0)) ( + H2 x)) + (Equivalence__Symmetric0 y)) + (Equivalence__Transitive0 y))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) + (H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R y z) => + R z x)))))) + (Transitive A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) => + H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R y z) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y0) -> + __0 : cupicef.Term cupicef.prop (R y0 z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H3 : + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y z0) -> + cupicef.Term cupicef.prop (R z z0)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R z y) -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H5 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R z x)) => + (H6 : cupicef.Term cupicef.prop (R z x) => H6) (H5 H0)) + (H4 H1)) + (H3 x)) + (H2 y)) + (Equivalence__Transitive0 z)))) + H. + +thm complement__Irreflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Reflexive A R) -> + cupicef.Term cupicef.prop (Irreflexive A (complement A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Reflexive A R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + complement A (complement A R) x x)) + (Irreflexive A (complement A R)) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (complement A R x x) + (H0 : cupicef.Term cupicef.prop (complement A R x x) => + Coq__Init__Logic.False)) + (complement A (complement A R) x x) cupicef.I + (H0 : cupicef.Term cupicef.prop (complement A R x x) => + (H1 : cupicef.Term cupicef.prop (R x x) => + (H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => H2) + (H0 H1)) + (H x))). + +thm complement__Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Symmetric A R) -> + cupicef.Term cupicef.prop (Symmetric A (complement A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Symmetric A R) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (complement A R x y) + (H0 : cupicef.Term cupicef.prop (complement A R x y) => + complement A R y x)))) + (Symmetric A (complement A R)) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (complement A R x y) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y x) + (H1 : cupicef.Term cupicef.prop (R y x) => Coq__Init__Logic.False)) + (complement A R y x) cupicef.I + (H1 : cupicef.Term cupicef.prop (R y x) => + (H2 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y y0) -> + cupicef.Term cupicef.prop (R y0 y)) => + (H3 : + (__ : cupicef.Term cupicef.prop (R y y) -> + cupicef.Term cupicef.prop (R y y)) => + (H4 : + (__ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (R x y)) => + (H5 : cupicef.Term cupicef.prop (R x y) => + (H6 : cupicef.Term cupicef.prop Coq__Init__Logic.False => H6) + (H0 H5)) + (H4 H1)) + (H2 x)) + (H2 y)) + (H y))). + +def RewriteRelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS RewriteRelation. + +def Build__RewriteRelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop (RewriteRelation A RA). + +[ ] cupicef.code_guarded? _ (Build__RewriteRelation _ _) --> cupicef.guarded. + +def match____RewriteRelation : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + RA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (RewriteRelation A RA) -> cupicef.Univ s) -> + case__Build__RewriteRelation : + cupicef.Term s (P (Build__RewriteRelation A RA)) -> + x : cupicef.Term cupicef.prop (RewriteRelation A RA) -> + cupicef.Term s (P x). + +[ s, A, RA, P, case__Build__RewriteRelation] + match____RewriteRelation s A RA P case__Build__RewriteRelation + (Build__RewriteRelation A RA) + --> + case__Build__RewriteRelation. + +[ s, A, RA, P, s'] + match____RewriteRelation s A RA + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____RewriteRelation s' A RA (x => P x). + +def equivalence__rewrite__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (Equivalence A eqA) -> + cupicef.Term cupicef.prop (RewriteRelation A eqA) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (Equivalence A eqA) => + Build__RewriteRelation A eqA. + +#TYPE_CLASS_INSTANCE equivalence__rewrite__relation. + +def eq__Reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Reflexive A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A). + +#TYPE_CLASS_INSTANCE eq__Reflexive. + +def eq__Symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Symmetric A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A). + +#TYPE_CLASS_INSTANCE eq__Symmetric. + +def eq__Transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Transitive A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A). + +#TYPE_CLASS_INSTANCE eq__Transitive. + +def eq__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Equivalence A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Build__Equivalence A + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (eq__Reflexive A) (eq__Symmetric A) (eq__Transitive A). + +#TYPE_CLASS_INSTANCE eq__equivalence. + +def RewriteRelation__instance__0 : + cupicef.Term cupicef.prop + (RewriteRelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + +:= Build__RewriteRelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl. + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__0. + +def RewriteRelation__instance__1 : + cupicef.Term cupicef.prop + (RewriteRelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + +:= Build__RewriteRelation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff. + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__1. + +def impl__Reflexive__obligation__1 : + x : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (Coq__Program__Basics.impl x x) + +:= x : cupicef.Univ cupicef.prop => H : cupicef.Term cupicef.prop x => H. + +def impl__Reflexive : + cupicef.Term cupicef.prop + (Reflexive + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + +:= x : cupicef.Univ cupicef.prop => impl__Reflexive__obligation__1 x. + +#TYPE_CLASS_INSTANCE impl__Reflexive. + +def impl__Transitive__obligation__1 : + x : cupicef.Univ cupicef.prop -> + y : cupicef.Univ cupicef.prop -> + z : cupicef.Univ cupicef.prop -> + H : cupicef.Term cupicef.prop (Coq__Program__Basics.impl x y) -> + H0 : cupicef.Term cupicef.prop (Coq__Program__Basics.impl y z) -> + cupicef.Term cupicef.prop (Coq__Program__Basics.impl x z) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + z : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Program__Basics.impl x y) => + H0 : cupicef.Term cupicef.prop (Coq__Program__Basics.impl y z) => + H1 : cupicef.Term cupicef.prop x => + H0 (H H1). + +def impl__Transitive : + cupicef.Term cupicef.prop + (Transitive + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Program__Basics.impl) + +:= x : cupicef.Univ cupicef.prop => + y : cupicef.Univ cupicef.prop => + z : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (Coq__Program__Basics.impl x y) => + H0 : cupicef.Term cupicef.prop (Coq__Program__Basics.impl y z) => + impl__Transitive__obligation__1 x y z H H0. + +#TYPE_CLASS_INSTANCE impl__Transitive. + +def iff__Reflexive : + cupicef.Term cupicef.prop + (Reflexive + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + +:= Coq__Init__Logic.iff__refl. + +#TYPE_CLASS_INSTANCE iff__Reflexive. + +def iff__Symmetric : + cupicef.Term cupicef.prop + (Symmetric + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + +:= Coq__Init__Logic.iff__sym. + +#TYPE_CLASS_INSTANCE iff__Symmetric. + +def iff__Transitive : + cupicef.Term cupicef.prop + (Transitive + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + +:= Coq__Init__Logic.iff__trans. + +#TYPE_CLASS_INSTANCE iff__Transitive. + +def iff__equivalence : + cupicef.Term cupicef.prop + (Equivalence + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff) + +:= Build__Equivalence + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.iff iff__Reflexive iff__Symmetric iff__Transitive. + +#TYPE_CLASS_INSTANCE iff__equivalence. + +def Tlist : + cupicef.Univ + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set). + +Tlist' : + cupicef.Univ cupicef.sinf. + +[ ] + cupicef.code (cupicef.cU _) Tlist + --> + Tlist'. + +def Tnil : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist. + +def Tcons : + __ : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist. + +[ ] cupicef.code_guarded? _ Tnil --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (Tcons _ _) --> cupicef.guarded. + +def match____Tlist : + s : cupicef.Sort -> + P : + (cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ s) -> + case__Tnil : cupicef.Term s (P Tnil) -> + case__Tcons : + (__ : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term s (P (Tcons __ __0))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term s (P x). + +[ s, P, case__Tnil, case__Tcons] + match____Tlist s P case__Tnil case__Tcons Tnil + --> + case__Tnil. + +[ s, P, case__Tnil, case__Tcons, __, __0] + match____Tlist s P case__Tnil case__Tcons (Tcons __ __0) + --> + case__Tcons __ __0. + +[ s, P, s'] + match____Tlist s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Tlist s' (x => P x). + +def Tlist__rect : + P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Tnil) -> + f0 : + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P t) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Tcons T t))) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P t) + +:= P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Tnil) => + f0 : + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P t) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Tcons T t))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + P t)))) + (c => + c + (F => + t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (t0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + P t0) + f + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + t0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + f0 T t0 (F t0)) + t)) + cupicef.0. + +def Tlist__ind : + P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P Tnil) -> + f0 : + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : cupicef.Term cupicef.prop (P t) -> + cupicef.Term cupicef.prop (P (Tcons T t))) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop (P t) + +:= P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P Tnil) => + f0 : + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : cupicef.Term cupicef.prop (P t) -> + cupicef.Term cupicef.prop (P (Tcons T t))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.prop + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + cupicef.prop + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + cupicef.prop) + cupicef.I Tlist + (t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + P t)))) + (c => + c + (F => + t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist cupicef.prop + (t0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + P t0) + f + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + t0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + f0 T t0 (F t0)) + t)) + cupicef.0. + +def Tlist__rec : + P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P Tnil) -> + f0 : + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : cupicef.Term cupicef.set (P t) -> + cupicef.Term cupicef.set (P (Tcons T t))) -> + t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.set (P t) + +:= P : + (t : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Univ cupicef.set) => + Tlist__rect + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Tlist + (t : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def arrows : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + r : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set))) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (r : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))))) + (c => + c + (arrows0 => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + r : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + match____Tlist (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + r + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l_27_ : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + arrows0 l_27_ r)) + l)) + cupicef.0. + +def unary__operation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + arrows (Tcons A Tnil) A. + +def binary__operation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + arrows (Tcons A (Tcons A Tnil)) A. + +def ternary__operation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + arrows (Tcons A (Tcons A (Tcons A Tnil))) A. + +def unary__predicate : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + arrows (Tcons A Tnil) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)). + +def binary__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + arrows (Tcons A (Tcons A Tnil)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)). + +def predicate__all : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + cupicef.Univ cupicef.prop + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))) + (c => + c + (predicate__all0 => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + f) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + predicate__all0 tl (f x))) + l)) + cupicef.0. + +def predicate__exists : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + __ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + cupicef.Univ cupicef.prop + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))) + (c => + c + (predicate__exists0 => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + f) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + predicate__exists0 tl (f x))) + l)) + cupicef.0. + +def pointwise__extension : + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (binary__operation T) -> + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__operation (arrows l T)) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (binary__operation T) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__operation T) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__operation (arrows l T))))))) + (c => + c + (pointwise__extension0 => + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__operation T) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__operation (arrows l0 T)) + (R : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil T) => + R_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil T) => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) T) => + R_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) T) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__extension0 T op tl (R x) (R_27_ x)) + l)) + cupicef.0. + +def pointwise__lifting : + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + R_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + R_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A tl) + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x) (R_27_ x))) + l)) + cupicef.0. + +def predicate__equivalence : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + pointwise__lifting Coq__Init__Logic.iff l. + +def predicate__implication : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + pointwise__lifting Coq__Program__Basics.impl l. + +def predicate__intersection : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__operation + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + +:= pointwise__extension + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.and. + +def predicate__union : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__operation + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + +:= pointwise__extension + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + Coq__Init__Logic.or. + +def true__predicate : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))))) + (c => + c + (true__predicate0 => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Init__Logic.True + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + true__predicate0 tl) + l)) + cupicef.0. + +def false__predicate : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + arrows l + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))))) + (c => + c + (false__predicate0 => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + Coq__Init__Logic.False + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + false__predicate0 tl) + l)) + cupicef.0. + +thm predicate__equivalence__equivalence__obligation__1 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Reflexive + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__equivalence l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + Tlist__ind + (l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 x0)) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => x0)) + (H : cupicef.Term cupicef.prop x0 => H) + (H : cupicef.Term cupicef.prop x0 => H)) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 x0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + IHl (x0 x1)) + l x. + +thm predicate__equivalence__equivalence__obligation__2 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Symmetric + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__equivalence l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H : cupicef.Term cupicef.prop (predicate__equivalence l x y) => + Tlist__ind + (l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (predicate__equivalence l0 x0 y0) + (H0 : + cupicef.Term cupicef.prop (predicate__equivalence l0 x0 y0) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 y0 x0)))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H0 : cupicef.Term cupicef.prop (predicate__equivalence Tnil x0 y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (Coq__Init__Logic.iff y0 x0) + (H1 : + (__ : cupicef.Term cupicef.prop x0 -> cupicef.Term cupicef.prop y0) => + H2 : + (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop x0) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + H2 H1) + H0) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H0 : cupicef.Term cupicef.prop (predicate__equivalence l0 x0 y0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 y0 x0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H0 : + cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) x0 y0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + IHl (x0 x1) (y0 x1) (H0 x1)) + l x y H. + +def let__p : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + H : cupicef.Term cupicef.prop (predicate__equivalence l x y) -> + H0 : cupicef.Term cupicef.prop (predicate__equivalence l y z) -> + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__equivalence l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__equivalence l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 z0)) -> + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) y0 z0) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T -> + H3 : cupicef.Term cupicef.prop (predicate__equivalence l0 (x0 x1) (y0 x1)) -> + H4 : cupicef.Term cupicef.prop (predicate__equivalence l0 (y0 x1) (z0 x1)) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x2) (R_27_ x2))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 (x0 x1) (z0 x1)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H : cupicef.Term cupicef.prop (predicate__equivalence l x y) => + H0 : cupicef.Term cupicef.prop (predicate__equivalence l y z) => + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__equivalence l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__equivalence l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 z0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H1 : cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) x0 y0) => + H2 : cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) y0 z0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + IHl (x0 x1) (y0 x1) (z0 x1). + +thm predicate__equivalence__equivalence__obligation__3 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Transitive + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__equivalence l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H : cupicef.Term cupicef.prop (predicate__equivalence l x y) => + H0 : cupicef.Term cupicef.prop (predicate__equivalence l y z) => + Tlist__ind + (l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (predicate__equivalence l0 x0 y0) + (H1 : + cupicef.Term cupicef.prop + (predicate__equivalence l0 x0 y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (predicate__equivalence l0 y0 z0) + (H2 : + cupicef.Term cupicef.prop + (predicate__equivalence l0 y0 z0) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 z0)))))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H1 : cupicef.Term cupicef.prop (predicate__equivalence Tnil x0 y0) => + H2 : cupicef.Term cupicef.prop (predicate__equivalence Tnil y0 z0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => z0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I z0 + (__ : cupicef.Term cupicef.prop z0 => y0)) + (Coq__Init__Logic.iff x0 z0) + (H3 : + (__ : cupicef.Term cupicef.prop y0 -> cupicef.Term cupicef.prop z0) => + H4 : + (__ : cupicef.Term cupicef.prop z0 -> cupicef.Term cupicef.prop y0) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I y0 + (__ : cupicef.Term cupicef.prop y0 => x0)) + (Coq__Init__Logic.iff x0 z0) + (H5 : + (__ : cupicef.Term cupicef.prop x0 -> + cupicef.Term cupicef.prop y0) => + H6 : + (__ : cupicef.Term cupicef.prop y0 -> + cupicef.Term cupicef.prop x0) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I x0 + (__ : cupicef.Term cupicef.prop x0 => z0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I z0 + (__ : cupicef.Term cupicef.prop z0 => x0)) + (H7 : cupicef.Term cupicef.prop x0 => H3 (H5 H7)) + (H7 : cupicef.Term cupicef.prop z0 => H6 (H4 H7))) + H1) + H2) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__equivalence l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__equivalence l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Init__Logic.iff l0 x0 z0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H1 : + cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) x0 y0) => + H2 : + cupicef.Term cupicef.prop (predicate__equivalence (Tcons T l0) y0 z0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + let__p l x y z H H0 T l0 IHl x0 y0 z0 H1 H2 x1 (H1 x1) (H2 x1)) + l x y z H H0. + +def predicate__equivalence__equivalence : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Equivalence + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__equivalence l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + Build__Equivalence + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__equivalence l) + ((l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + predicate__equivalence__equivalence__obligation__1 l0) l) + ((l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + predicate__equivalence__equivalence__obligation__2 l0) l) + ((l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + predicate__equivalence__equivalence__obligation__3 l0) l). + +#TYPE_CLASS_INSTANCE predicate__equivalence__equivalence. + +thm predicate__implication__preorder__obligation__1 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Reflexive + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__implication l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + Tlist__ind + (l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 x0)) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H : cupicef.Term cupicef.prop x0 => + H) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 x0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + IHl (x0 x1)) + l x. + +def let__p0 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + H : cupicef.Term cupicef.prop (predicate__implication l x y) -> + H0 : cupicef.Term cupicef.prop (predicate__implication l y z) -> + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__implication l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__implication l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 z0)) -> + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) y0 z0) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T -> + H3 : + cupicef.Term cupicef.prop + (pointwise__lifting Coq__Program__Basics.impl l0 (x0 x1) (y0 x1)) -> + H4 : + cupicef.Term cupicef.prop + (pointwise__lifting Coq__Program__Basics.impl l0 (y0 x1) (z0 x1)) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x2) (R_27_ x2))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 (x0 x1) (z0 x1)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H : cupicef.Term cupicef.prop (predicate__implication l x y) => + H0 : cupicef.Term cupicef.prop (predicate__implication l y z) => + T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__implication l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__implication l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 z0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H1 : cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) x0 y0) => + H2 : cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) y0 z0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + IHl (x0 x1) (y0 x1) (z0 x1). + +thm predicate__implication__preorder__obligation__2 : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (Transitive + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__implication l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + z : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + H : cupicef.Term cupicef.prop (predicate__implication l x y) => + H0 : cupicef.Term cupicef.prop (predicate__implication l y z) => + Tlist__ind + (l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (arrows l0 + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (predicate__implication l0 x0 y0) + (H1 : + cupicef.Term cupicef.prop + (predicate__implication l0 x0 y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (predicate__implication l0 y0 z0) + (H2 : + cupicef.Term cupicef.prop + (predicate__implication l0 y0 z0) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 z0)))))) + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H1 : cupicef.Term cupicef.prop (predicate__implication Tnil x0 y0) => + H2 : cupicef.Term cupicef.prop (predicate__implication Tnil y0 z0) => + H3 : cupicef.Term cupicef.prop x0 => + H2 (H1 H3)) + (T : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + IHl : + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows l0 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) -> + H1 : cupicef.Term cupicef.prop (predicate__implication l0 x0 y0) -> + H2 : cupicef.Term cupicef.prop (predicate__implication l0 y0 z0) -> + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l1 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + l1 : + cupicef.Term + (cupicef.sup + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist (cupicef.type (cupicef.s cupicef.z)) + (l2 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l2 + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R : cupicef.Univ cupicef.prop => + R_27_ : cupicef.Univ cupicef.prop => + op R R_27_) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + R_27_ : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows tl + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting0 op tl (R x1) (R_27_ x1))) + l1)) + cupicef.0 Coq__Program__Basics.impl l0 x0 z0)) => + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + z0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons T l0) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) => + H1 : + cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) x0 y0) => + H2 : + cupicef.Term cupicef.prop (predicate__implication (Tcons T l0) y0 z0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) T => + let__p0 l x y z H H0 T l0 IHl x0 y0 z0 H1 H2 x1 (H1 x1) (H2 x1)) + l x y z H H0. + +def predicate__implication__preorder : + l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist -> + cupicef.Term cupicef.prop + (PreOrder + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__implication l)) + +:= l : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + Build__PreOrder + (arrows l + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (predicate__implication l) + ((l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + predicate__implication__preorder__obligation__1 l0) l) + ((l0 : + cupicef.Term + (cupicef.sup (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + predicate__implication__preorder__obligation__2 l0) l). + +#TYPE_CLASS_INSTANCE predicate__implication__preorder. + +def relation__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + predicate__equivalence (Tcons A (Tcons A Tnil)). + +def RewriteRelation__instance__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (RewriteRelation + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (relation__equivalence A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Build__RewriteRelation + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (relation__equivalence A). + +#TYPE_CLASS_INSTANCE RewriteRelation__instance__2. + +def relation__conjunction : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + predicate__intersection (Tcons A (Tcons A Tnil)) R R_27_. + +def relation__disjunction : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R_27_ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + predicate__union (Tcons A (Tcons A Tnil)) R R_27_. + +thm relation__equivalence__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (Equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (relation__equivalence A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + predicate__equivalence__equivalence (Tcons A (Tcons A Tnil)). + +#TYPE_CLASS_INSTANCE relation__equivalence__equivalence. + +thm relation__implication__preorder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (PreOrder + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (subrelation A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + predicate__implication__preorder (Tcons A (Tcons A Tnil)). + +#TYPE_CLASS_INSTANCE relation__implication__preorder. + +def PartialOrder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + relation__equivalence A eqA + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)). + +#TYPE_CLASS PartialOrder. + +def partial__order__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + PartialOrder0 : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + cupicef.Term cupicef.prop + (relation__equivalence A eqA + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + PartialOrder0 : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + PartialOrder0. + +def let__poe : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (relation__equivalence A eqA + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + partial__order__equivalence A eqA equ R preo H. + +def let__H2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eqA x0 x1) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x0 x1)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + let__poe A eqA equ R preo H x y H0 H1. + +def let__a : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + x. + +def let__H3 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eqA (let__a A eqA equ R preo H x y H0 H1) x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (let__a A eqA equ R preo H x y H0 H1) x0)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + let__H2 A eqA equ R preo H x y H0 H1 (let__a A eqA equ R preo H x y H0 H1). + +def let__a0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + y. + +def let__H4 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : cupicef.Term cupicef.prop (R x y) -> + H1 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff (eqA x (let__a0 A eqA equ R preo H x y H0 H1)) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x (let__a0 A eqA equ R preo H x y H0 H1))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + let__H3 A eqA equ R preo H x y H0 H1 + (let__a0 A eqA equ R preo H x y H0 H1). + +thm partial__order__antisym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + cupicef.Term cupicef.prop (Antisymmetric A eqA equ R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (H0 : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R y x) (H1 : cupicef.Term cupicef.prop (R y x) => eqA x y))))) + (Antisymmetric A eqA equ R) cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y) => + H1 : cupicef.Term cupicef.prop (R y x) => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x (let__a0 A eqA equ R preo H x y H0 H1)) + (__ : + cupicef.Term cupicef.prop + (eqA x (let__a0 A eqA equ R preo H x y H0 H1)) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x (let__a0 A eqA equ R preo H x y H0 H1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x (let__a0 A eqA equ R preo H x y H0 H1)) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x (let__a0 A eqA equ R preo H x y H0 H1)) => + eqA x (let__a0 A eqA equ R preo H x y H0 H1))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x y) + (__ : cupicef.Term cupicef.prop (eqA x y) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x y) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x y) => + eqA x y))) => + eqA x y) + (__tmp : + (__ : cupicef.Term cupicef.prop (eqA x y) -> + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x y)) => + H4 : + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x y) -> + cupicef.Term cupicef.prop (eqA x y)) => + H4 + (Coq__Init__Logic.conj (R x y) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x y) + H0 H1)) + (let__H4 A eqA equ R preo H x y H0 H1)). + +#TYPE_CLASS_INSTANCE partial__order__antisym. + +thm PartialOrder__inverse : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + equ : cupicef.Term cupicef.prop (Equivalence A eqA) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + preo : cupicef.Term cupicef.prop (PreOrder A R) -> + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) -> + cupicef.Term cupicef.prop + (PartialOrder A eqA equ + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (flip__PreOrder A R preo)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eqA : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + equ : cupicef.Term cupicef.prop (Equivalence A eqA) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + preo : cupicef.Term cupicef.prop (PreOrder A R) => + H : cupicef.Term cupicef.prop (PartialOrder A eqA equ R preo) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + pointwise__lifting Coq__Init__Logic.iff (Tcons A Tnil) (eqA x) + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + x))) + (PartialOrder A eqA equ + (Coq__Program__Basics.flip A A + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (flip__PreOrder A R preo)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x0) + (__ : cupicef.Term cupicef.prop (eqA x x0) => + relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + x x0) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + x x0) => + eqA x x0)))) + (pointwise__lifting Coq__Init__Logic.iff (Tcons A Tnil) (eqA x) + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + x)) + cupicef.I + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eqA x x0) + (__ : cupicef.Term cupicef.prop (eqA x x0) => + relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + x x0) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R)) + x x0) => + eqA x x0)) + (H0 : cupicef.Term cupicef.prop (eqA x x0) => + Coq__Init__Logic.conj + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) + ((H1 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff (Tcons A Tnil) ( + eqA x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0)) => + (H2 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff (Tcons A Tnil) ( + eqA x) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x)) => + (H3 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff Tnil (eqA x x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x0) + (__ : cupicef.Term cupicef.prop (eqA x x0) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) => + eqA x x0)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) + (H4 : + (__ : cupicef.Term cupicef.prop (eqA x x0) -> + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) => + H5 : + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) -> + cupicef.Term cupicef.prop (eqA x x0)) => + (H6 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) -> + cupicef.Term cupicef.prop (eqA x x0)) => + (H7 : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) => + Coq__Init__Logic.and__ind (R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) + (H8 : cupicef.Term cupicef.prop (R x x0) => + H9 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) => + H9) + H7) + (H4 H0)) + (__ : cupicef.Term cupicef.prop (R x x0) => + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) => + H5 + (Coq__Init__Logic.conj (R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) + __ __0))) + H3) + (H2 x0)) + (H x)) + (H x0)) + ((H1 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff (Tcons A Tnil) ( + eqA x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0)) => + (H2 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff (Tcons A Tnil) ( + eqA x) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x)) => + (H3 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff Tnil (eqA x x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x x0) + (__ : cupicef.Term cupicef.prop (eqA x x0) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) => + eqA x x0)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) + (H4 : + (__ : cupicef.Term cupicef.prop (eqA x x0) -> + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0)) => + H5 : + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) -> + cupicef.Term cupicef.prop (eqA x x0)) => + (H6 : + (__ : cupicef.Term cupicef.prop (R x x0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) -> + cupicef.Term cupicef.prop (eqA x x0)) => + (H7 : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) => + Coq__Init__Logic.and__ind (R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x x0) + (H8 : cupicef.Term cupicef.prop (R x x0) => + H9 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) => + H8) + H7) + (H4 H0)) + (__ : cupicef.Term cupicef.prop (R x x0) => + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) => + H5 + (Coq__Init__Logic.conj (R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x x0) + __ __0))) + H3) + (H2 x0)) + (H x)) + (H x0))) + (H0 : + cupicef.Term cupicef.prop + (relation__conjunction A + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R)) + x x0) => + Coq__Init__Logic.and__ind + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) + (eqA x x0) + (H1 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R x x0) => + H2 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + R) + x x0) => + (H3 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff (Tcons A Tnil) ( + eqA x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0)) => + (H4 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff Tnil (eqA x0 x0) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x0 x0) + (__ : cupicef.Term cupicef.prop (eqA x0 x0) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0) => + eqA x0 x0)) + (eqA x x0) + (H5 : + (__ : cupicef.Term cupicef.prop (eqA x0 x0) -> + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0)) => + H6 : + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x0) -> + cupicef.Term cupicef.prop (eqA x0 x0)) => + (H7 : + (__ : cupicef.Term cupicef.prop (R x0 x0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x0) -> + cupicef.Term cupicef.prop (eqA x0 x0)) => + (H8 : + cupicef.Term cupicef.prop + (cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + cupicef.set)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type + (cupicef.s cupicef.z)))) + cupicef.I + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) + (op : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I Tlist + (l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))))))) + (c => + c + (pointwise__lifting0 => + op : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (binary__relation + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + l : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + match____Tlist + (cupicef.type (cupicef.s cupicef.z)) + (l0 : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + binary__relation + (arrows l0 + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)))) + (R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows Tnil + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + op R0 R_27_) + (A0 : + cupicef.Univ + (cupicef.type (cupicef.s cupicef.z)) => + tl : + cupicef.Term + (cupicef.sup + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.set) + Tlist => + R0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + R_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (arrows (Tcons A0 tl) + (cupicef.cast + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A0 + (x1 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A0 => + pointwise__lifting0 op tl (R0 x1) + (R_27_ x1))) + l)) + cupicef.0 Coq__Init__Logic.iff Tnil (eqA x0 x) + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x)) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eqA x0 x) + (__ : cupicef.Term cupicef.prop (eqA x0 x) => + relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x) + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x) => + eqA x0 x)) + (eqA x x0) + (H9 : + (__ : cupicef.Term cupicef.prop (eqA x0 x) -> + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x)) => + H10 : + (__ : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x) -> + cupicef.Term cupicef.prop (eqA x0 x)) => + (H11 : + (__ : cupicef.Term cupicef.prop (R x0 x) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) -> + cupicef.Term cupicef.prop (eqA x0 x)) => + (H12 : + (__ : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) -> + cupicef.Term cupicef.prop (eqA x0 x)) => + (H13 : cupicef.Term cupicef.prop (eqA x0 x) => + (H14 : + cupicef.Term cupicef.prop + (relation__conjunction A R + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R) + x0 x) => + Coq__Init__Logic.and__ind (R x0 x) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) + (eqA x x0) + (H15 : cupicef.Term cupicef.prop (R x0 x) => + H16 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) => + symmetry A eqA + (Equivalence__Symmetric A eqA equ) x0 x H13) + H14) + (H9 H13)) + (H12 H2)) + (H11 H1)) + (__ : cupicef.Term cupicef.prop (R x0 x) => + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) => + H10 + (Coq__Init__Logic.conj (R x0 x) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x) + __ __0))) + H8) + (H3 x)) + (__ : cupicef.Term cupicef.prop (R x0 x0) => + __0 : + cupicef.Term cupicef.prop + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x0) => + H6 + (Coq__Init__Logic.conj (R x0 x0) + (Coq__Program__Basics.flip A A + (cupicef.cast + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + R x0 x0) + __ __0))) + H4) + (H3 x0)) + (H x0)) + H0))). + +thm subrelation__partial__order__obligation__1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (relation__equivalence + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (relation__equivalence A) + (relation__conjunction + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (subrelation A) + (Coq__Program__Basics.flip + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (subrelation A)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 x2) + (__ : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 x2) + (__ : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2))))) + (__ : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 x2) + (__ : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 x2) + (__ : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2)))) => + Coq__Init__Logic.and + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 y) + (__0 : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 y) + (__0 : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y)))))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + cupicef.I + (Coq__Init__Logic.and + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 y) + (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y))))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 y) + (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y))))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 x2) + (__0 : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 x2) + (__0 : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2)))))) + (H : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + x x1 x2) + (__ : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 x2) + (__ : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2)))) => + Coq__Init__Logic.conj + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + x x1 y) (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y)))) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (x x1 y) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x1 y) + (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y)) + (x0 x1 y) + (H2 : + (__ : cupicef.Term cupicef.prop (x x1 y) -> + cupicef.Term cupicef.prop (x0 x1 y)) => + H3 : + (__ : cupicef.Term cupicef.prop (x0 x1 y) -> + cupicef.Term cupicef.prop (x x1 y)) => + H2 H0) + (H x1 y)) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (x0 x1 y) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x1 y) + (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y)) + (x x1 y) + (H2 : + (__ : cupicef.Term cupicef.prop (x x1 y) -> + cupicef.Term cupicef.prop (x0 x1 y)) => + H3 : + (__ : cupicef.Term cupicef.prop (x0 x1 y) -> + cupicef.Term cupicef.prop (x x1 y)) => + H3 H0) + (H x1 y))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x x1 y) + (__ : cupicef.Term cupicef.prop (x x1 y) => x0 x1 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (x0 x1 y) + (__ : cupicef.Term cupicef.prop (x0 x1 y) => x x1 y))))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.and__ind + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + x x3 y) (__ : cupicef.Term cupicef.prop (x x3 y) => x0 x3 y)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + x0 x3 y) + (__ : cupicef.Term cupicef.prop (x0 x3 y) => x x3 y)))) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x1 x2) + (__ : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x0 x1 x2) + (__ : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2))) + (H0 : + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (x x3 y) -> + cupicef.Term cupicef.prop (x0 x3 y)) => + H1 : + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (x0 x3 y) -> + cupicef.Term cupicef.prop (x x3 y)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x x1 x2) + (__ : cupicef.Term cupicef.prop (x x1 x2) => x0 x1 x2)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (x0 x1 x2) + (__ : cupicef.Term cupicef.prop (x0 x1 x2) => x x1 x2)) + (H2 : cupicef.Term cupicef.prop (x x1 x2) => H0 x1 x2 H2) + (H2 : cupicef.Term cupicef.prop (x0 x1 x2) => H1 x1 x2 H2)) + H). + +def subrelation__partial__order : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term cupicef.prop + (PartialOrder + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (Coq__Relations__Relation__Definitions.relation A)) + (relation__equivalence A) (relation__equivalence__equivalence A) + (subrelation A) (relation__implication__preorder A)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + (A0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + subrelation__partial__order__obligation__1 A0) A. + +#TYPE_CLASS_INSTANCE subrelation__partial__order. + +(; End of translation. ;) diff --git a/out/Coq__Classes__SetoidTactics.dk b/out/Coq__Classes__SetoidTactics.dk new file mode 100644 index 000000000..d37f97cb9 --- /dev/null +++ b/out/Coq__Classes__SetoidTactics.dk @@ -0,0 +1,98 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def DefaultRelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop. + +#TYPE_CLASS DefaultRelation. + +def Build__DefaultRelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop (DefaultRelation A R). + +[ ] cupicef.code_guarded? _ (Build__DefaultRelation _ _) --> cupicef.guarded. + +def match____DefaultRelation : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : (cupicef.Term cupicef.prop (DefaultRelation A R) -> cupicef.Univ s) -> + case__Build__DefaultRelation : + cupicef.Term s (P (Build__DefaultRelation A R)) -> + x : cupicef.Term cupicef.prop (DefaultRelation A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__DefaultRelation] + match____DefaultRelation s A R P case__Build__DefaultRelation + (Build__DefaultRelation A R) + --> + case__Build__DefaultRelation. + +[ s, A, R, P, s'] + match____DefaultRelation s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____DefaultRelation s' A R (x => P x). + +def default__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : cupicef.Term cupicef.prop (DefaultRelation A R) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : cupicef.Term cupicef.prop (DefaultRelation A R) => + R. + +def equivalence__default : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + H : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) -> + cupicef.Term cupicef.prop (DefaultRelation A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + H : + cupicef.Term cupicef.prop + (Coq__Classes__RelationClasses.Equivalence A R) => + Build__DefaultRelation A R. + +#TYPE_CLASS_INSTANCE equivalence__default. + +(; End of translation. ;) diff --git a/out/Coq__Init__Datatypes.dk b/out/Coq__Init__Datatypes.dk new file mode 100644 index 000000000..386b9d26f --- /dev/null +++ b/out/Coq__Init__Datatypes.dk @@ -0,0 +1,9568 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +#REQUIRE cupicef. +#REQUIRE Coq__Init__Logic. + +def Empty__set : + cupicef.Univ cupicef.set. + +def match____Empty__set : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set Empty__set -> cupicef.Univ s) -> + x : cupicef.Term cupicef.set Empty__set -> + cupicef.Term s (P x). + +[ s, P, s'] + match____Empty__set s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Empty__set s' (x => P x). + +def Empty__set__rect : + P : + (e : cupicef.Term cupicef.set Empty__set -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + e : cupicef.Term cupicef.set Empty__set -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P e) + +:= P : + (e : cupicef.Term cupicef.set Empty__set -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + e : cupicef.Term cupicef.set Empty__set => + match____Empty__set (cupicef.type (cupicef.s cupicef.z)) + (e0 : cupicef.Term cupicef.set Empty__set => P e0) e. + +def Empty__set__ind : + P : (e : cupicef.Term cupicef.set Empty__set -> cupicef.Univ cupicef.prop) -> + e : cupicef.Term cupicef.set Empty__set -> + cupicef.Term cupicef.prop (P e) + +:= P : (e : cupicef.Term cupicef.set Empty__set -> cupicef.Univ cupicef.prop) => + e : cupicef.Term cupicef.set Empty__set => + match____Empty__set cupicef.prop + (e0 : cupicef.Term cupicef.set Empty__set => P e0) e. + +def Empty__set__rec : + P : (e : cupicef.Term cupicef.set Empty__set -> cupicef.Univ cupicef.set) -> + e : cupicef.Term cupicef.set Empty__set -> + cupicef.Term cupicef.set (P e) + +:= P : (e : cupicef.Term cupicef.set Empty__set -> cupicef.Univ cupicef.set) => + Empty__set__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Empty__set + (e : cupicef.Term cupicef.set Empty__set => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Empty__set + (e : cupicef.Term cupicef.set Empty__set => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def unit : + cupicef.Univ cupicef.set. + +def tt : + cupicef.Term cupicef.set unit. + +[ ] cupicef.code_guarded? _ tt --> cupicef.guarded. + +def match____unit : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set unit -> cupicef.Univ s) -> + case__tt : cupicef.Term s (P tt) -> + x : cupicef.Term cupicef.set unit -> + cupicef.Term s (P x). + +[ s, P, case__tt] + match____unit s P case__tt tt + --> + case__tt. + +[ s, P, s'] + match____unit s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____unit s' (x => P x). + +def unit__rect : + P : + (u : cupicef.Term cupicef.set unit -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P tt) -> + u : cupicef.Term cupicef.set unit -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) + +:= P : + (u : cupicef.Term cupicef.set unit -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P tt) => + u : cupicef.Term cupicef.set unit => + match____unit (cupicef.type (cupicef.s cupicef.z)) + (u0 : cupicef.Term cupicef.set unit => P u0) f u. + +def unit__ind : + P : (u : cupicef.Term cupicef.set unit -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P tt) -> + u : cupicef.Term cupicef.set unit -> + cupicef.Term cupicef.prop (P u) + +:= P : (u : cupicef.Term cupicef.set unit -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P tt) => + u : cupicef.Term cupicef.set unit => + match____unit cupicef.prop (u0 : cupicef.Term cupicef.set unit => P u0) f + u. + +def unit__rec : + P : (u : cupicef.Term cupicef.set unit -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P tt) -> + u : cupicef.Term cupicef.set unit -> + cupicef.Term cupicef.set (P u) + +:= P : (u : cupicef.Term cupicef.set unit -> cupicef.Univ cupicef.set) => + unit__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I unit + (u : cupicef.Term cupicef.set unit => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I unit + (u : cupicef.Term cupicef.set unit => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def bool : + cupicef.Univ cupicef.set. + +def true : + cupicef.Term cupicef.set bool. + +def false : + cupicef.Term cupicef.set bool. + +[ ] cupicef.code_guarded? _ true --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ false --> cupicef.guarded. + +def match____bool : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set bool -> cupicef.Univ s) -> + case__true : cupicef.Term s (P true) -> + case__false : cupicef.Term s (P false) -> + x : cupicef.Term cupicef.set bool -> + cupicef.Term s (P x). + +[ s, P, case__true, case__false] + match____bool s P case__true case__false true + --> + case__true. + +[ s, P, case__true, case__false] + match____bool s P case__true case__false false + --> + case__false. + +[ s, P, s'] + match____bool s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____bool s' (x => P x). + +def bool__rect : + P : + (b : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) -> + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P false) -> + b : cupicef.Term cupicef.set bool -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P b) + +:= P : + (b : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) => + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P false) => + b : cupicef.Term cupicef.set bool => + match____bool (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set bool => P b0) f f0 b. + +def bool__ind : + P : (b : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P true) -> + f0 : cupicef.Term cupicef.prop (P false) -> + b : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.prop (P b) + +:= P : (b : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P true) => + f0 : cupicef.Term cupicef.prop (P false) => + b : cupicef.Term cupicef.set bool => + match____bool cupicef.prop (b0 : cupicef.Term cupicef.set bool => P b0) f + f0 b. + +def bool__rec : + P : (b : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P true) -> + f0 : cupicef.Term cupicef.set (P false) -> + b : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.set (P b) + +:= P : (b : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) => + bool__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I bool + (b : cupicef.Term cupicef.set bool => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I bool + (b : cupicef.Term cupicef.set bool => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def andb : + b1 : cupicef.Term cupicef.set bool -> + b2 : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.set bool + +:= b1 : cupicef.Term cupicef.set bool => + b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) b2 + false b1. + +def orb : + b1 : cupicef.Term cupicef.set bool -> + b2 : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.set bool + +:= b1 : cupicef.Term cupicef.set bool => + b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) + true b2 b1. + +def implb : + b1 : cupicef.Term cupicef.set bool -> + b2 : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.set bool + +:= b1 : cupicef.Term cupicef.set bool => + b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) b2 + true b1. + +def xorb : + b1 : cupicef.Term cupicef.set bool -> + b2 : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.set bool + +:= b1 : cupicef.Term cupicef.set bool => + b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) + (match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) + false true b2) + (match____bool cupicef.set (b3 : cupicef.Term cupicef.set bool => bool) + true false b2) + b1. + +def negb : + b : cupicef.Term cupicef.set bool -> cupicef.Term cupicef.set bool + +:= b : cupicef.Term cupicef.set bool => + match____bool cupicef.set (b0 : cupicef.Term cupicef.set bool => bool) + false true b. + +thm andb__prop : + a : cupicef.Term cupicef.set bool -> + b : cupicef.Term cupicef.set bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb a b) true) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + a true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true)) + +:= a : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I bool + (b0 : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb b b0) true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb b b0) true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b0 true)))) + (b : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true b0) true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true b0) true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b0 true))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true true) true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true false) true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true) + H) + b) + (b : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false b0) true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false b0) true) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b0 true))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false true) true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false false) true) => + Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + H H) + b) + a. + +thm andb__true__intro : + b1 : cupicef.Term cupicef.set bool -> + b2 : cupicef.Term cupicef.set bool -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b1 true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b2 true)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb b1 b2) true) + +:= b1 : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I bool + (b2 : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b2 true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b2 true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb b b2) true))) + (b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true b) true)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true true) true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) => + H1) + H)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb true false) true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) => + H1) + H)) + b2) + (b2 : cupicef.Term cupicef.set bool => + match____bool cupicef.prop + (b : cupicef.Term cupicef.set bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false b) true)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false true) true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + true true) => + H0) + H)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + (andb false false) true)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.match____and cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + false true) => + H1) + H)) + b2) + b1. + +def eq__true : + __ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop. + +def is__eq__true : + cupicef.Term cupicef.prop (eq__true true). + +[ ] cupicef.code_guarded? _ is__eq__true --> cupicef.guarded. + +def match____eq__true : + s : cupicef.Sort -> + P : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.prop (eq__true __) -> + cupicef.Univ s) -> + case__is__eq__true : cupicef.Term s (P true is__eq__true) -> + __ : cupicef.Term cupicef.set bool -> + x : cupicef.Term cupicef.prop (eq__true __) -> + cupicef.Term s (P __ x). + +[ s, P, case__is__eq__true] + match____eq__true s P case__is__eq__true {true} is__eq__true + --> + case__is__eq__true. + +[ s, P, s'] + match____eq__true s + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____eq__true s' (__ => x => P __ x). + +def eq__true__rect : + P : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) -> + b : cupicef.Term cupicef.set bool -> + e : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P b) + +:= P : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) => + b : cupicef.Term cupicef.set bool => + e : cupicef.Term cupicef.prop (eq__true b) => + match____eq__true (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (eq__true b0) => + P b0) + f b e. + +def eq__true__ind : + P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P true) -> + b : cupicef.Term cupicef.set bool -> + e : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term cupicef.prop (P b) + +:= P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P true) => + b : cupicef.Term cupicef.set bool => + e : cupicef.Term cupicef.prop (eq__true b) => + match____eq__true cupicef.prop + (b0 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (eq__true b0) => + P b0) + f b e. + +def eq__true__rec : + P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P true) -> + b : cupicef.Term cupicef.set bool -> + e : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term cupicef.set (P b) + +:= P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) => + eq__true__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I bool + (__ : cupicef.Term cupicef.set bool => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I bool + (__ : cupicef.Term cupicef.set bool => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def is__true : + b : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop + +:= b : cupicef.Term cupicef.set bool => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I bool) + b true. + +def eq__true__ind__r : + P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) -> + b : cupicef.Term cupicef.set bool -> + __ : cupicef.Term cupicef.prop (P b) -> + __0 : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term cupicef.prop (P true) + +:= P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) => + b : cupicef.Term cupicef.set bool => + H : cupicef.Term cupicef.prop (P b) => + H0 : cupicef.Term cupicef.prop (eq__true b) => + match____eq__true cupicef.prop + (b0 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (eq__true b0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P b0) + (H1 : cupicef.Term cupicef.prop (P b0) => P true)) + (H1 : cupicef.Term cupicef.prop (P true) => H1) b H0 H. + +def eq__true__rec__r : + P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) -> + b : cupicef.Term cupicef.set bool -> + __ : cupicef.Term cupicef.set (P b) -> + __0 : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term cupicef.set (P true) + +:= P : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.set) => + b : cupicef.Term cupicef.set bool => + H : cupicef.Term cupicef.set (P b) => + H0 : cupicef.Term cupicef.prop (eq__true b) => + match____eq__true cupicef.set + (b0 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (eq__true b0) => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I (P b0) + (H1 : cupicef.Term cupicef.set (P b0) => P true)) + (H1 : cupicef.Term cupicef.set (P true) => H1) b H0 H. + +def eq__true__rect__r : + P : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + b : cupicef.Term cupicef.set bool -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P b) -> + __0 : cupicef.Term cupicef.prop (eq__true b) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) + +:= P : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + b : cupicef.Term cupicef.set bool => + H : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P b) => + H0 : cupicef.Term cupicef.prop (eq__true b) => + match____eq__true (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (eq__true b0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P b0) + (H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P b0) => + P true)) + (H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P true) => H1) + b H0 H. + +def BoolSpec : + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.set bool -> + cupicef.Univ cupicef.prop. + +def BoolSpecT : + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop P -> + cupicef.Term cupicef.prop (BoolSpec P Q true). + +def BoolSpecF : + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Q -> + cupicef.Term cupicef.prop (BoolSpec P Q false). + +[ ] cupicef.code_guarded? _ (BoolSpecT _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (BoolSpecF _ _ _) --> cupicef.guarded. + +def match____BoolSpec : + s : cupicef.Sort -> + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + P0 : + (__ : cupicef.Term cupicef.set bool -> + cupicef.Term cupicef.prop (BoolSpec P Q __) -> + cupicef.Univ s) -> + case__BoolSpecT : + (__ : cupicef.Term cupicef.prop P -> + cupicef.Term s (P0 true (BoolSpecT P Q __))) -> + case__BoolSpecF : + (__ : cupicef.Term cupicef.prop Q -> + cupicef.Term s (P0 false (BoolSpecF P Q __))) -> + __ : cupicef.Term cupicef.set bool -> + x : cupicef.Term cupicef.prop (BoolSpec P Q __) -> + cupicef.Term s (P0 __ x). + +[ s, P, Q, P0, case__BoolSpecT, case__BoolSpecF, __] + match____BoolSpec s P Q P0 case__BoolSpecT case__BoolSpecF {true} + (BoolSpecT P Q __) + --> + case__BoolSpecT __. + +[ s, P, Q, P0, case__BoolSpecT, case__BoolSpecF, __] + match____BoolSpec s P Q P0 case__BoolSpecT case__BoolSpecF {false} + (BoolSpecF P Q __) + --> + case__BoolSpecF __. + +[ s, P, Q, P0, s'] + match____BoolSpec s P Q + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ x))) + --> + match____BoolSpec s' P Q (__ => x => P0 __ x). + +def BoolSpec__ind : + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + P0 : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) -> + f : + (__ : cupicef.Term cupicef.prop P -> cupicef.Term cupicef.prop (P0 true)) -> + f0 : + (__ : cupicef.Term cupicef.prop Q -> cupicef.Term cupicef.prop (P0 false)) -> + b : cupicef.Term cupicef.set bool -> + b0 : cupicef.Term cupicef.prop (BoolSpec P Q b) -> + cupicef.Term cupicef.prop (P0 b) + +:= P : cupicef.Univ cupicef.prop => + Q : cupicef.Univ cupicef.prop => + P0 : (__ : cupicef.Term cupicef.set bool -> cupicef.Univ cupicef.prop) => + f : + (__ : cupicef.Term cupicef.prop P -> cupicef.Term cupicef.prop (P0 true)) => + f0 : + (__ : cupicef.Term cupicef.prop Q -> + cupicef.Term cupicef.prop (P0 false)) => + b : cupicef.Term cupicef.set bool => + b0 : cupicef.Term cupicef.prop (BoolSpec P Q b) => + match____BoolSpec cupicef.prop P Q + (b1 : cupicef.Term cupicef.set bool => + __ : cupicef.Term cupicef.prop (BoolSpec P Q b1) => + P0 b1) + f f0 b b0. + +def nat : + cupicef.Univ cupicef.set. + +def O : + cupicef.Term cupicef.set nat. + +def S : + __ : cupicef.Term cupicef.set nat -> cupicef.Term cupicef.set nat. + +[ ] cupicef.code_guarded? _ O --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (S _) --> cupicef.guarded. + +def match____nat : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set nat -> cupicef.Univ s) -> + case__O : cupicef.Term s (P O) -> + case__S : (__ : cupicef.Term cupicef.set nat -> cupicef.Term s (P (S __))) -> + x : cupicef.Term cupicef.set nat -> + cupicef.Term s (P x). + +[ s, P, case__O, case__S] + match____nat s P case__O case__S O + --> + case__O. + +[ s, P, case__O, case__S, __] + match____nat s P case__O case__S (S __) + --> + case__S __. + +[ s, P, s'] + match____nat s (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____nat s' (x => P x). + +def nat__rect : + P : + (n : cupicef.Term cupicef.set nat -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P O) -> + f0 : + (n : cupicef.Term cupicef.set nat -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P n) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (S n))) -> + n : cupicef.Term cupicef.set nat -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P n) + +:= P : + (n : cupicef.Term cupicef.set nat -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P O) => + f0 : + (n : cupicef.Term cupicef.set nat -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P n) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (S n))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I nat (n : cupicef.Term cupicef.set nat => P n)))) + (c => + c + (F => + n : cupicef.Term cupicef.set nat => + match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set nat => P n0) f + (n0 : cupicef.Term cupicef.set nat => f0 n0 (F n0)) n)) + cupicef.0. + +def nat__ind : + P : (n : cupicef.Term cupicef.set nat -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P O) -> + f0 : + (n : cupicef.Term cupicef.set nat -> + __ : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (P (S n))) -> + n : cupicef.Term cupicef.set nat -> + cupicef.Term cupicef.prop (P n) + +:= P : (n : cupicef.Term cupicef.set nat -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P O) => + f0 : + (n : cupicef.Term cupicef.set nat -> + __ : cupicef.Term cupicef.prop (P n) -> + cupicef.Term cupicef.prop (P (S n))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.prop + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I nat + (n : cupicef.Term cupicef.set nat => P n)))) + (c => + c + (F => + n : cupicef.Term cupicef.set nat => + match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set nat => P n0) f + (n0 : cupicef.Term cupicef.set nat => f0 n0 (F n0)) n)) + cupicef.0. + +def nat__rec : + P : (n : cupicef.Term cupicef.set nat -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P O) -> + f0 : + (n : cupicef.Term cupicef.set nat -> + __ : cupicef.Term cupicef.set (P n) -> + cupicef.Term cupicef.set (P (S n))) -> + n : cupicef.Term cupicef.set nat -> + cupicef.Term cupicef.set (P n) + +:= P : (n : cupicef.Term cupicef.set nat -> cupicef.Univ cupicef.set) => + nat__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I nat + (n : cupicef.Term cupicef.set nat => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I nat + (n : cupicef.Term cupicef.set nat => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def option : + Coq__Init__Datatypes__13 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Datatypes__13 -> + cupicef.Univ (cupicef.sup cupicef.set Coq__Init__Datatypes__13). + +option' : + A : cupicef.Univ cupicef.sinf -> cupicef.Univ cupicef.sinf. + +[ Coq__Init__Datatypes__13, A] + cupicef.code (cupicef.cU _) (option Coq__Init__Datatypes__13 A) + --> + option' (cupicef.code (cupicef.cU Coq__Init__Datatypes__13) A). + +def Coq__Init__Datatypes__13 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Some : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__13) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__13) A -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__13)) + (option (cupicef.type Coq__Init__Datatypes__13) A). + +def None : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__13) -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__13)) + (option (cupicef.type Coq__Init__Datatypes__13) A). + +[ ] cupicef.code_guarded? _ (Some _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (None _) --> cupicef.guarded. + +def match____option : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__13) -> + P : + (cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__13)) + (option (cupicef.type Coq__Init__Datatypes__13) A) -> + cupicef.Univ s) -> + case__Some : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__13) A -> + cupicef.Term s (P (Some A __))) -> + case__None : cupicef.Term s (P (None A)) -> + x : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__13)) + (option (cupicef.type Coq__Init__Datatypes__13) A) -> + cupicef.Term s (P x). + +[ s, A, P, case__Some, case__None, __] + match____option s A P case__Some case__None (Some A __) + --> + case__Some __. + +[ s, A, P, case__Some, case__None] + match____option s A P case__Some case__None (None A) + --> + case__None. + +[ s, A, P, s'] + match____option s A + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____option s' A (x => P x). + +def option__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Some A a))) -> + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (None A)) -> + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P o) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Some A a))) => + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (None A)) => + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + match____option (cupicef.type (cupicef.s cupicef.z)) A + (o0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + P o0) + f f0 o. + +def option__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (Some A a))) -> + f0 : cupicef.Term cupicef.prop (P (None A)) -> + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term cupicef.prop (P o) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (Some A a))) => + f0 : cupicef.Term cupicef.prop (P (None A)) => + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + match____option cupicef.prop A + (o0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + P o0) + f f0 o. + +def option__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.set) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P (Some A a))) -> + f0 : cupicef.Term cupicef.set (P (None A)) -> + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term cupicef.set (P o) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.set) => + option__rect A + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (option (cupicef.type (cupicef.s cupicef.z)) A) + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (option (cupicef.type (cupicef.s cupicef.z)) A) + (o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def option__map : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) B) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + o : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + match____option + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) A + (o0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (option (cupicef.type (cupicef.s cupicef.z)) A) => + option (cupicef.type (cupicef.s cupicef.z)) B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Some B (f a)) + (None B) o. + +def sum : + Coq__Init__Datatypes__19 : cupicef.Sort -> + Coq__Init__Datatypes__20 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Datatypes__19 -> + B : cupicef.Univ Coq__Init__Datatypes__20 -> + cupicef.Univ + (cupicef.sup cupicef.set + (cupicef.sup Coq__Init__Datatypes__19 Coq__Init__Datatypes__20)). + +sum' : + A : cupicef.Univ cupicef.sinf -> + B : cupicef.Univ cupicef.sinf -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Datatypes__19, Coq__Init__Datatypes__20, A, B] + cupicef.code (cupicef.cU _) + (sum Coq__Init__Datatypes__19 Coq__Init__Datatypes__20 A B) + --> + sum' (cupicef.code (cupicef.cU Coq__Init__Datatypes__19) A) + (cupicef.code (cupicef.cU Coq__Init__Datatypes__20) B). + +def Coq__Init__Datatypes__19 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Coq__Init__Datatypes__20 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def inl : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__19) -> + B : cupicef.Univ (cupicef.type Coq__Init__Datatypes__20) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__19) A -> + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20))) + (sum (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20) A B). + +def inr : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__19) -> + B : cupicef.Univ (cupicef.type Coq__Init__Datatypes__20) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__20) B -> + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20))) + (sum (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20) A B). + +[ ] cupicef.code_guarded? _ (inl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (inr _ _ _) --> cupicef.guarded. + +def match____sum : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__19) -> + B : cupicef.Univ (cupicef.type Coq__Init__Datatypes__20) -> + P : + (cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20))) + (sum (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20) A B) -> + cupicef.Univ s) -> + case__inl : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__19) A -> + cupicef.Term s (P (inl A B __))) -> + case__inr : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__20) B -> + cupicef.Term s (P (inr A B __))) -> + x : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20))) + (sum (cupicef.type Coq__Init__Datatypes__19) + (cupicef.type Coq__Init__Datatypes__20) A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__inl, case__inr, __] + match____sum s A B P case__inl case__inr (inl A B __) + --> + case__inl __. + +[ s, A, B, P, case__inl, case__inr, __] + match____sum s A B P case__inl case__inr (inr A B __) + --> + case__inr __. + +[ s, A, B, P, s'] + match____sum s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____sum s' A B (x => P x). + +def sum__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inl A B a))) -> + f0 : + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inr A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inl A B a))) => + f0 : + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inr A B b))) => + s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____sum (cupicef.type (cupicef.s cupicef.z)) A B + (s0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + P s0) + f f0 s. + +def sum__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (inl A B a))) -> + f0 : + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop (P (inr A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (inl A B a))) => + f0 : + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop (P (inr A B b))) => + s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____sum cupicef.prop A B + (s0 : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + P s0) + f f0 s. + +def sum__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P (inl A B a))) -> + f0 : + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.set (P (inr A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.set (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) => + sum__rect A B + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + (s : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def prod : + Coq__Init__Datatypes__23 : cupicef.Sort -> + Coq__Init__Datatypes__24 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Datatypes__23 -> + B : cupicef.Univ Coq__Init__Datatypes__24 -> + cupicef.Univ + (cupicef.sup Coq__Init__Datatypes__23 Coq__Init__Datatypes__24). + +prod' : + A : cupicef.Univ cupicef.sinf -> + B : cupicef.Univ cupicef.sinf -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Datatypes__23, Coq__Init__Datatypes__24, A, B] + cupicef.code (cupicef.cU _) + (prod Coq__Init__Datatypes__23 Coq__Init__Datatypes__24 A B) + --> + prod' (cupicef.code (cupicef.cU Coq__Init__Datatypes__23) A) + (cupicef.code (cupicef.cU Coq__Init__Datatypes__24) B). + +def Coq__Init__Datatypes__23 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Coq__Init__Datatypes__24 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def pair : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__23) -> + B : cupicef.Univ (cupicef.type Coq__Init__Datatypes__24) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__23) A -> + __0 : cupicef.Term (cupicef.type Coq__Init__Datatypes__24) B -> + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24)) + (prod (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24) A B). + +[ ] cupicef.code_guarded? _ (pair _ _ _ _) --> cupicef.guarded. + +def match____prod : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__23) -> + B : cupicef.Univ (cupicef.type Coq__Init__Datatypes__24) -> + P : + (cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24)) + (prod (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24) A B) -> + cupicef.Univ s) -> + case__pair : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__23) A -> + __0 : cupicef.Term (cupicef.type Coq__Init__Datatypes__24) B -> + cupicef.Term s (P (pair A B __ __0))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24)) + (prod (cupicef.type Coq__Init__Datatypes__23) + (cupicef.type Coq__Init__Datatypes__24) A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__pair, __, __0] + match____prod s A B P case__pair (pair A B __ __0) + --> + case__pair __ __0. + +[ s, A, B, P, s'] + match____prod s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____prod s' A B (x => P x). + +def prod__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (pair A B a b))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (pair A B a b))) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod (cupicef.type (cupicef.s cupicef.z)) A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + P p0) + f p. + +def prod__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop (P (pair A B a b))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop (P (pair A B a b))) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod cupicef.prop A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + P p0) + f p. + +def prod__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.set (P (pair A B a b))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.set (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) => + prod__rect A B + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def fst : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod (cupicef.type (cupicef.s cupicef.z)) A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + A) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + x) + p. + +def snd : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod (cupicef.type (cupicef.s cupicef.z)) A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + B) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + y) + p. + +thm surjective__pairing : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + p (pair A B (fst A B p) (snd A B p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod cupicef.prop A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + p0 (pair A B (fst A B p0) (snd A B p0))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B (fst A B (pair A B a b)) (snd A B (pair A B a b)))) + p. + +thm injective__projections : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + p2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B p1) (fst A B p2)) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B p1) (snd A B p2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + p1 p2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod cupicef.prop A B + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + (p2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B p) (fst A B p2)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B p) (fst A B p2)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B p) (snd A B p2)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B p) (snd A B p2)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + p p2)))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + p2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod cupicef.prop A B + (p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B (pair A B a b)) (fst A B p)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B (pair A B a b)) (fst A B p)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B (pair A B a b)) (snd A B p)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B (pair A B a b)) (snd A B p)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a b) p))) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a0) + (Hfst : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + b b0) + (Hsnd : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + b b0) => + (a1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a1 b) (pair A B a0 b0)) + a))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B (pair A B a b)) (fst A B (pair A B a0 b0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (fst A B (pair A B a b)) (fst A B (pair A B a0 b0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B (pair A B a b)) (snd A B (pair A B a0 b0))) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (snd A B (pair A B a b)) (snd A B (pair A B a0 b0))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a b) (pair A B a0 b0)))) + cupicef.I + (Hfst : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a0) => + Hsnd : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + b b0) => + Coq__Init__Logic.eq__ind__r A a0 + (a1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a1 b) (pair A B a0 b0)) + (Coq__Init__Logic.eq__ind__r B b0 + (b1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a0 b1) (pair A B a0 b0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B)) + (pair A B a0 b0)) + b Hsnd) + a Hfst)) + p2) + p1. + +def prod__uncurry : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + f (pair A B x y). + +def prod__curry : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + match____prod (cupicef.type (cupicef.s cupicef.z)) A B + (p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + C) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + f x y) + p. + +def list : + Coq__Init__Datatypes__44 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Datatypes__44 -> + cupicef.Univ (cupicef.sup cupicef.set Coq__Init__Datatypes__44). + +list' : + A : cupicef.Univ cupicef.sinf -> cupicef.Univ cupicef.sinf. + +[ Coq__Init__Datatypes__44, A] + cupicef.code (cupicef.cU _) (list Coq__Init__Datatypes__44 A) + --> + list' (cupicef.code (cupicef.cU Coq__Init__Datatypes__44) A). + +def Coq__Init__Datatypes__44 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def nil : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__44) -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A). + +def cons : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__44) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__44) A -> + __0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A) -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A). + +[ ] cupicef.code_guarded? _ (nil _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (cons _ _ _) --> cupicef.guarded. + +def match____list : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__44) -> + P : + (cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A) -> + cupicef.Univ s) -> + case__nil : cupicef.Term s (P (nil A)) -> + case__cons : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__44) A -> + __0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A) -> + cupicef.Term s (P (cons A __ __0))) -> + x : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Datatypes__44)) + (list (cupicef.type Coq__Init__Datatypes__44) A) -> + cupicef.Term s (P x). + +[ s, A, P, case__nil, case__cons] + match____list s A P case__nil case__cons (nil A) + --> + case__nil. + +[ s, A, P, case__nil, case__cons, __, __0] + match____list s A P case__nil case__cons (cons A __ __0) + --> + case__cons __ __0. + +[ s, A, P, s'] + match____list s A + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____list s' A (x => P x). + +def list__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (nil A)) -> + f0 : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P l) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (cons A a l))) -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P l) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (nil A)) => + f0 : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P l) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (cons A a l))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup cupicef.set + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + P l)))) + (c => + c + (F => + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + match____list (cupicef.type (cupicef.s cupicef.z)) A + (l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + P l0) + f + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + f0 y l0 (F l0)) + l)) + cupicef.0. + +def list__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P (nil A)) -> + f0 : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __ : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P (cons A a l))) -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term cupicef.prop (P l) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P (nil A)) => + f0 : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __ : cupicef.Term cupicef.prop (P l) -> + cupicef.Term cupicef.prop (P (cons A a l))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.prop + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + P l)))) + (c => + c + (F => + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + match____list cupicef.prop A + (l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + P l0) + f + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + f0 y l0 (F l0)) + l)) + cupicef.0. + +def list__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P (nil A)) -> + f0 : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __ : cupicef.Term cupicef.set (P l) -> + cupicef.Term cupicef.set (P (cons A a l))) -> + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term cupicef.set (P l) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Univ cupicef.set) => + list__rect A + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def length : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term cupicef.set nat + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.set + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + cupicef.set) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + nat)))) + (c => + c + (length0 => + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + match____list cupicef.set A + (l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + nat) + O + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + l_27_ : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + S (length0 l_27_)) + l)) + cupicef.0. + +def app : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + __0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) -> + cupicef.Term (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (l : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.prod + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (list (cupicef.type (cupicef.s cupicef.z)) A) + (m : + cupicef.Term + (cupicef.sup cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + list (cupicef.type (cupicef.s cupicef.z)) A))))) + (c => + c + (app0 => + l : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + m : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + match____list + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) A + (l0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + list (cupicef.type (cupicef.s cupicef.z)) A) + m + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + l1 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (list (cupicef.type (cupicef.s cupicef.z)) A) => + cons A a (app0 l1 m)) + l)) + cupicef.0. + +def comparison : + cupicef.Univ cupicef.set. + +def Eq : + cupicef.Term cupicef.set comparison. + +def Lt : + cupicef.Term cupicef.set comparison. + +def Gt : + cupicef.Term cupicef.set comparison. + +[ ] cupicef.code_guarded? _ Eq --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ Lt --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ Gt --> cupicef.guarded. + +def match____comparison : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set comparison -> cupicef.Univ s) -> + case__Eq : cupicef.Term s (P Eq) -> + case__Lt : cupicef.Term s (P Lt) -> + case__Gt : cupicef.Term s (P Gt) -> + x : cupicef.Term cupicef.set comparison -> + cupicef.Term s (P x). + +[ s, P, case__Eq, case__Lt, case__Gt] + match____comparison s P case__Eq case__Lt case__Gt Eq + --> + case__Eq. + +[ s, P, case__Eq, case__Lt, case__Gt] + match____comparison s P case__Eq case__Lt case__Gt Lt + --> + case__Lt. + +[ s, P, case__Eq, case__Lt, case__Gt] + match____comparison s P case__Eq case__Lt case__Gt Gt + --> + case__Gt. + +[ s, P, s'] + match____comparison s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____comparison s' (x => P x). + +def comparison__rect : + P : + (c : cupicef.Term cupicef.set comparison -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Eq) -> + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Lt) -> + f1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Gt) -> + c : cupicef.Term cupicef.set comparison -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P c) + +:= P : + (c : cupicef.Term cupicef.set comparison -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Eq) => + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Lt) => + f1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Gt) => + c : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => P c0) f f0 f1 c. + +def comparison__ind : + P : (c : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P Eq) -> + f0 : cupicef.Term cupicef.prop (P Lt) -> + f1 : cupicef.Term cupicef.prop (P Gt) -> + c : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.prop (P c) + +:= P : (c : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P Eq) => + f0 : cupicef.Term cupicef.prop (P Lt) => + f1 : cupicef.Term cupicef.prop (P Gt) => + c : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => P c0) f f0 f1 c. + +def comparison__rec : + P : (c : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P Eq) -> + f0 : cupicef.Term cupicef.set (P Lt) -> + f1 : cupicef.Term cupicef.set (P Gt) -> + c : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.set (P c) + +:= P : (c : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.set) => + comparison__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I comparison + (c : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I comparison + (c : cupicef.Term cupicef.set comparison => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def let__H0 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I Lt H0. + +def let__n : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H0 c c_27_ H H0))). + +def let__H1 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I Gt H0. + +def let__n0 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H1 c c_27_ H H0))). + +def let__H2 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Eq H0. + +def let__n1 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H2 c c_27_ H H0))). + +def let__H3 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Gt H0. + +def let__n2 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H3 c c_27_ H H0))). + +def let__H4 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Eq H0. + +def let__n3 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H4 c c_27_ H H0))). + +def let__H5 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt))) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt))) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Lt H0. + +def let__n4 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt))) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt))) => + H + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt)) + cupicef.I + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H5 c c_27_ H H0))). + +thm comparison__eq__stable : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c c_27_))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c c_27_) + +:= c : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I comparison + (c_27_ : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 c_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 c_27_))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 c_27_))) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq c0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq c0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Eq))) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) + (let__n c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) + (let__n0 c c_27_ H)) + c_27_) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt c0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt c0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) + (let__n1 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Lt))) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) + (let__n2 c c_27_ H)) + c_27_) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt c0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt c0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) + (let__n3 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt))) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) + (let__n4 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Gt))) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt) + c_27_) + c. + +def CompOpp : + r : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.set comparison + +:= r : cupicef.Term cupicef.set comparison => + match____comparison cupicef.set + (r0 : cupicef.Term cupicef.set comparison => comparison) Eq Gt Lt r. + +thm CompOpp__involutive : + c : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp (CompOpp c)) c) + +:= c : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp (CompOpp c0)) c0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt) + c. + +def let__H6 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Lt)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Lt)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I (CompOpp Lt) H. + +def let__H7 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Gt)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Gt)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I (CompOpp Gt) H. + +def let__H8 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp Eq)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp Eq)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I (CompOpp Eq) H. + +def let__H9 : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp Eq)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp Eq)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I (CompOpp Eq) H. + +thm CompOpp__inj : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) (CompOpp c_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c c_27_) + +:= c : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I comparison + (c_27_ : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c0) (CompOpp c_27_)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c0) (CompOpp c_27_)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 c_27_))) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp c0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp c0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Eq)) => + H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Lt)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) + (let__H6 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Eq) (CompOpp Gt)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) + (let__H7 c c_27_ H)) + c_27_) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp c0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp c0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp Eq)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) + (let__H8 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp Lt)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Lt) (CompOpp Gt)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt H) + c_27_) + (c_27_ : cupicef.Term cupicef.set comparison => + match____comparison cupicef.prop + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp c0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp c0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt c0)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp Eq)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) + (let__H9 c c_27_ H)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp Lt)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp Gt) (CompOpp Gt)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt) + c_27_) + c. + +thm CompOpp__iff : + c : cupicef.Term cupicef.set comparison -> + c_27_ : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c_27_) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c (CompOpp c_27_))) + +:= c : cupicef.Term cupicef.set comparison => + c_27_ : cupicef.Term cupicef.set comparison => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c_27_) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c_27_) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c (CompOpp c_27_))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c (CompOpp c_27_)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c (CompOpp c_27_)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c_27_)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c_27_) => + CompOpp__inj c (CompOpp c_27_) + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I comparison) + c_27_ + (c0 : cupicef.Term cupicef.set comparison => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + (CompOpp c) c0) + H (CompOpp (CompOpp c_27_)) (CompOpp__involutive c_27_))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c (CompOpp c_27_)) => + CompOpp__inj (CompOpp c) c_27_ + (Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I comparison) + c + (c0 : cupicef.Term cupicef.set comparison => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 (CompOpp c_27_)) + H (CompOpp (CompOpp c)) (CompOpp__involutive c))). + +def CompareSpec : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.set comparison -> + cupicef.Univ cupicef.prop. + +def CompEq : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Peq -> + cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq). + +def CompLt : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Plt -> + cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt). + +def CompGt : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Pgt -> + cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt). + +[ ] cupicef.code_guarded? _ (CompEq _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (CompLt _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (CompGt _ _ _ _) --> cupicef.guarded. + +def match____CompareSpec : + s : cupicef.Sort -> + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : + (__ : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt __) -> + cupicef.Univ s) -> + case__CompEq : + (__ : cupicef.Term cupicef.prop Peq -> + cupicef.Term s (P Eq (CompEq Peq Plt Pgt __))) -> + case__CompLt : + (__ : cupicef.Term cupicef.prop Plt -> + cupicef.Term s (P Lt (CompLt Peq Plt Pgt __))) -> + case__CompGt : + (__ : cupicef.Term cupicef.prop Pgt -> + cupicef.Term s (P Gt (CompGt Peq Plt Pgt __))) -> + __ : cupicef.Term cupicef.set comparison -> + x : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt __) -> + cupicef.Term s (P __ x). + +[ s, Peq, Plt, Pgt, P, case__CompEq, case__CompLt, case__CompGt, __] + match____CompareSpec s Peq Plt Pgt P case__CompEq case__CompLt case__CompGt + {Eq} (CompEq Peq Plt Pgt __) + --> + case__CompEq __. + +[ s, Peq, Plt, Pgt, P, case__CompEq, case__CompLt, case__CompGt, __] + match____CompareSpec s Peq Plt Pgt P case__CompEq case__CompLt case__CompGt + {Lt} (CompLt Peq Plt Pgt __) + --> + case__CompLt __. + +[ s, Peq, Plt, Pgt, P, case__CompEq, case__CompLt, case__CompGt, __] + match____CompareSpec s Peq Plt Pgt P case__CompEq case__CompLt case__CompGt + {Gt} (CompGt Peq Plt Pgt __) + --> + case__CompGt __. + +[ s, Peq, Plt, Pgt, P, s'] + match____CompareSpec s Peq Plt Pgt + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____CompareSpec s' Peq Plt Pgt (__ => x => P __ x). + +def CompareSpec__ind : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : (__ : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.prop) -> + f : + (__ : cupicef.Term cupicef.prop Peq -> cupicef.Term cupicef.prop (P Eq)) -> + f0 : + (__ : cupicef.Term cupicef.prop Plt -> cupicef.Term cupicef.prop (P Lt)) -> + f1 : + (__ : cupicef.Term cupicef.prop Pgt -> cupicef.Term cupicef.prop (P Gt)) -> + c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c) -> + cupicef.Term cupicef.prop (P c) + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + P : + (__ : cupicef.Term cupicef.set comparison -> cupicef.Univ cupicef.prop) => + f : + (__ : cupicef.Term cupicef.prop Peq -> cupicef.Term cupicef.prop (P Eq)) => + f0 : + (__ : cupicef.Term cupicef.prop Plt -> cupicef.Term cupicef.prop (P Lt)) => + f1 : + (__ : cupicef.Term cupicef.prop Pgt -> cupicef.Term cupicef.prop (P Gt)) => + c : cupicef.Term cupicef.set comparison => + c0 : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c) => + match____CompareSpec cupicef.prop Peq Plt Pgt + (c1 : cupicef.Term cupicef.set comparison => + __ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c1) => + P c1) + f f0 f1 c c0. + +def CompareSpecT : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.set comparison -> + cupicef.Univ cupicef.set. + +def CompEqT : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Peq -> + cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt Eq). + +def CompLtT : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Plt -> + cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt Lt). + +def CompGtT : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop Pgt -> + cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt Gt). + +[ ] cupicef.code_guarded? _ (CompEqT _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (CompLtT _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (CompGtT _ _ _ _) --> cupicef.guarded. + +def match____CompareSpecT : + s : cupicef.Sort -> + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : + (__ : cupicef.Term cupicef.set comparison -> + cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt __) -> + cupicef.Univ s) -> + case__CompEqT : + (__ : cupicef.Term cupicef.prop Peq -> + cupicef.Term s (P Eq (CompEqT Peq Plt Pgt __))) -> + case__CompLtT : + (__ : cupicef.Term cupicef.prop Plt -> + cupicef.Term s (P Lt (CompLtT Peq Plt Pgt __))) -> + case__CompGtT : + (__ : cupicef.Term cupicef.prop Pgt -> + cupicef.Term s (P Gt (CompGtT Peq Plt Pgt __))) -> + __ : cupicef.Term cupicef.set comparison -> + x : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt __) -> + cupicef.Term s (P __ x). + +[ s, Peq, Plt, Pgt, P, case__CompEqT, case__CompLtT, case__CompGtT, __] + match____CompareSpecT s Peq Plt Pgt P case__CompEqT case__CompLtT + case__CompGtT {Eq} (CompEqT Peq Plt Pgt __) + --> + case__CompEqT __. + +[ s, Peq, Plt, Pgt, P, case__CompEqT, case__CompLtT, case__CompGtT, __] + match____CompareSpecT s Peq Plt Pgt P case__CompEqT case__CompLtT + case__CompGtT {Lt} (CompLtT Peq Plt Pgt __) + --> + case__CompLtT __. + +[ s, Peq, Plt, Pgt, P, case__CompEqT, case__CompLtT, case__CompGtT, __] + match____CompareSpecT s Peq Plt Pgt P case__CompEqT case__CompLtT + case__CompGtT {Gt} (CompGtT Peq Plt Pgt __) + --> + case__CompGtT __. + +[ s, Peq, Plt, Pgt, P, s'] + match____CompareSpecT s Peq Plt Pgt + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____CompareSpecT s' Peq Plt Pgt (__ => x => P __ x). + +def CompareSpecT__rect : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : cupicef.Term cupicef.prop Peq -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Eq (CompEqT Peq Plt Pgt p))) -> + f0 : + (p : cupicef.Term cupicef.prop Plt -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Lt (CompLtT Peq Plt Pgt p))) -> + f1 : + (p : cupicef.Term cupicef.prop Pgt -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Gt (CompGtT Peq Plt Pgt p))) -> + c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P c c0) + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : cupicef.Term cupicef.prop Peq -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Eq (CompEqT Peq Plt Pgt p))) => + f0 : + (p : cupicef.Term cupicef.prop Plt -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Lt (CompLtT Peq Plt Pgt p))) => + f1 : + (p : cupicef.Term cupicef.prop Pgt -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P Gt (CompGtT Peq Plt Pgt p))) => + c : cupicef.Term cupicef.set comparison => + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) => + match____CompareSpecT (cupicef.type (cupicef.s cupicef.z)) Peq Plt Pgt + (c1 : cupicef.Term cupicef.set comparison => + c2 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c1) => + P c1 c2) + f f0 f1 c c0. + +def CompareSpecT__ind : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ cupicef.prop) -> + f : + (p : cupicef.Term cupicef.prop Peq -> + cupicef.Term cupicef.prop (P Eq (CompEqT Peq Plt Pgt p))) -> + f0 : + (p : cupicef.Term cupicef.prop Plt -> + cupicef.Term cupicef.prop (P Lt (CompLtT Peq Plt Pgt p))) -> + f1 : + (p : cupicef.Term cupicef.prop Pgt -> + cupicef.Term cupicef.prop (P Gt (CompGtT Peq Plt Pgt p))) -> + c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Term cupicef.prop (P c c0) + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ cupicef.prop) => + f : + (p : cupicef.Term cupicef.prop Peq -> + cupicef.Term cupicef.prop (P Eq (CompEqT Peq Plt Pgt p))) => + f0 : + (p : cupicef.Term cupicef.prop Plt -> + cupicef.Term cupicef.prop (P Lt (CompLtT Peq Plt Pgt p))) => + f1 : + (p : cupicef.Term cupicef.prop Pgt -> + cupicef.Term cupicef.prop (P Gt (CompGtT Peq Plt Pgt p))) => + c : cupicef.Term cupicef.set comparison => + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) => + match____CompareSpecT cupicef.prop Peq Plt Pgt + (c1 : cupicef.Term cupicef.set comparison => + c2 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c1) => + P c1 c2) + f f0 f1 c c0. + +def CompareSpecT__rec : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ cupicef.set) -> + f : + (p : cupicef.Term cupicef.prop Peq -> + cupicef.Term cupicef.set (P Eq (CompEqT Peq Plt Pgt p))) -> + f0 : + (p : cupicef.Term cupicef.prop Plt -> + cupicef.Term cupicef.set (P Lt (CompLtT Peq Plt Pgt p))) -> + f1 : + (p : cupicef.Term cupicef.prop Pgt -> + cupicef.Term cupicef.set (P Gt (CompGtT Peq Plt Pgt p))) -> + c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Term cupicef.set (P c c0) + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + P : + (c : cupicef.Term cupicef.set comparison -> + c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) -> + cupicef.Univ cupicef.set) => + CompareSpecT__rect Peq Plt Pgt + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I comparison + (c : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (CompareSpecT Peq Plt Pgt c) + (c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I comparison + (c : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (CompareSpecT Peq Plt Pgt c) + (c0 : cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I P). + +def let__H11 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) -> + H0 : cupicef.Term cupicef.prop Plt -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) => + H0 : cupicef.Term cupicef.prop Plt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Eq H2. + +def let__H12 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) -> + H0 : cupicef.Term cupicef.prop Pgt -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) => + H0 : cupicef.Term cupicef.prop Pgt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Eq H2. + +def let__H10 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Eq) -> + cupicef.Term cupicef.prop Peq + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) => + match____CompareSpec cupicef.prop Peq Plt Pgt + (c0 : cupicef.Term cupicef.set comparison => + __ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Eq) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Eq) => + Peq)) + (H0 : cupicef.Term cupicef.prop Peq => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Eq) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Eq) => + H3 : cupicef.Term cupicef.prop Peq => + H3) H1 H0) + (H0 : cupicef.Term cupicef.prop Plt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Eq) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Plt + (H3 : cupicef.Term cupicef.prop Plt => Peq)) + (let__H11 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop Pgt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Eq) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Pgt + (H3 : cupicef.Term cupicef.prop Pgt => Peq)) + (let__H12 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + Eq H. + +def let__H14 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) -> + H0 : cupicef.Term cupicef.prop Peq -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) => + H0 : cupicef.Term cupicef.prop Peq => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I Lt H2. + +def let__H15 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) -> + H0 : cupicef.Term cupicef.prop Pgt -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) => + H0 : cupicef.Term cupicef.prop Pgt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.False Coq__Init__Logic.True e) + Coq__Init__Logic.I Lt H2. + +def let__H13 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Lt) -> + cupicef.Term cupicef.prop Plt + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) => + match____CompareSpec cupicef.prop Peq Plt Pgt + (c0 : cupicef.Term cupicef.set comparison => + __ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Lt) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Lt) => + Plt)) + (H0 : cupicef.Term cupicef.prop Peq => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Lt) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Peq + (H3 : cupicef.Term cupicef.prop Peq => Plt)) + (let__H14 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop Plt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Lt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Lt) => + H3 : cupicef.Term cupicef.prop Plt => + H3) H1 H0) + (H0 : cupicef.Term cupicef.prop Pgt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Lt) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Pgt + (H3 : cupicef.Term cupicef.prop Pgt => Plt)) + (let__H15 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + Lt H. + +def let__H17 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) -> + H0 : cupicef.Term cupicef.prop Peq -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) => + H0 : cupicef.Term cupicef.prop Peq => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True Coq__Init__Logic.False Coq__Init__Logic.False e) + Coq__Init__Logic.I Gt H2. + +def let__H18 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) -> + H0 : cupicef.Term cupicef.prop Plt -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) => + H0 : cupicef.Term cupicef.prop Plt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt + (e : cupicef.Term cupicef.set comparison => + match____comparison (cupicef.type (cupicef.s cupicef.z)) + (c0 : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False Coq__Init__Logic.True Coq__Init__Logic.False e) + Coq__Init__Logic.I Gt H2. + +def let__H16 : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Gt) -> + cupicef.Term cupicef.prop Pgt + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) => + match____CompareSpec cupicef.prop Peq Plt Pgt + (c0 : cupicef.Term cupicef.set comparison => + __ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Gt) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + c0 Gt) => + Pgt)) + (H0 : cupicef.Term cupicef.prop Peq => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq Gt) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Peq + (H3 : cupicef.Term cupicef.prop Peq => Pgt)) + (let__H17 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop Plt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt Gt) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I Plt + (H3 : cupicef.Term cupicef.prop Plt => Pgt)) + (let__H18 Peq Plt Pgt c H H0 H1 H2)) + H1 H0) + (H0 : cupicef.Term cupicef.prop Pgt => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Gt) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt Gt) => + H3 : cupicef.Term cupicef.prop Pgt => + H3) H1 H0) + Gt H. + +def CompareSpec2Type : + Peq : cupicef.Univ cupicef.prop -> + Plt : cupicef.Univ cupicef.prop -> + Pgt : cupicef.Univ cupicef.prop -> + c : cupicef.Term cupicef.set comparison -> + __ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c) -> + cupicef.Term cupicef.set (CompareSpecT Peq Plt Pgt c) + +:= Peq : cupicef.Univ cupicef.prop => + Plt : cupicef.Univ cupicef.prop => + Pgt : cupicef.Univ cupicef.prop => + c : cupicef.Term cupicef.set comparison => + match____comparison cupicef.set + (c0 : cupicef.Term cupicef.set comparison => + cupicef.prod cupicef.prop cupicef.set + (cupicef.rule cupicef.prop cupicef.set) cupicef.I + (CompareSpec Peq Plt Pgt c0) + (__ : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt c0) => + CompareSpecT Peq Plt Pgt c0)) + (H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Eq) => + CompEqT Peq Plt Pgt + (let__H10 Peq Plt Pgt c H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Eq))) + (H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Lt) => + CompLtT Peq Plt Pgt + (let__H13 Peq Plt Pgt c H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Lt))) + (H : cupicef.Term cupicef.prop (CompareSpec Peq Plt Pgt Gt) => + CompGtT Peq Plt Pgt + (let__H16 Peq Plt Pgt c H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I comparison) + Gt))) + c. + +def CompSpec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.set comparison -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + CompareSpec (eq x y) (lt x y) (lt y x). + +def CompSpecT : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.set comparison -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) + +:= cupicef.cast + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I comparison + (__ : cupicef.Term cupicef.set comparison => + cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))))) + (cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I comparison + (__ : cupicef.Term cupicef.set comparison => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))))))) + cupicef.I + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + CompareSpecT (eq x y) (lt x y) (lt y x)). + +def CompSpec2Type : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.set comparison -> + __ : cupicef.Term cupicef.prop (CompSpec A eq lt x y c) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (CompSpecT A eq lt x y c) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + lt : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.set comparison => + H : cupicef.Term cupicef.prop (CompSpec A eq lt x y c) => + CompareSpec2Type (eq x y) (lt x y) (lt y x) c H. + +def identity : + Coq__Init__Datatypes__80 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Datatypes__80 -> + a : cupicef.Term Coq__Init__Datatypes__80 A -> + __ : cupicef.Term Coq__Init__Datatypes__80 A -> + cupicef.Univ cupicef.prop. + +identity' : + A : cupicef.Univ cupicef.sinf -> + a : cupicef.Term cupicef.sinf A -> + __ : cupicef.Term cupicef.sinf A -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Datatypes__80, A, a, __] + cupicef.code (cupicef.cU _) (identity Coq__Init__Datatypes__80 A a __) + --> + identity' (cupicef.code (cupicef.cU Coq__Init__Datatypes__80) A) a __. + +def Coq__Init__Datatypes__80 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def identity__refl : + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__80) -> + a : cupicef.Term (cupicef.type Coq__Init__Datatypes__80) A -> + cupicef.Term cupicef.prop + (identity (cupicef.type Coq__Init__Datatypes__80) A a a). + +[ ] cupicef.code_guarded? _ (identity__refl _ _) --> cupicef.guarded. + +def match____identity : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Datatypes__80) -> + a : cupicef.Term (cupicef.type Coq__Init__Datatypes__80) A -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Datatypes__80) A -> + cupicef.Term cupicef.prop + (identity (cupicef.type Coq__Init__Datatypes__80) A a __) -> + cupicef.Univ s) -> + case__identity__refl : cupicef.Term s (P a (identity__refl A a)) -> + __ : cupicef.Term (cupicef.type Coq__Init__Datatypes__80) A -> + x : + cupicef.Term cupicef.prop + (identity (cupicef.type Coq__Init__Datatypes__80) A a __) -> + cupicef.Term s (P __ x). + +[ s, A, a, P, case__identity__refl] + match____identity s A a P case__identity__refl {a} (identity__refl A a) + --> + case__identity__refl. + +[ s, A, a, P, s'] + match____identity s A a + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____identity s' A a (__ => x => P __ x). + +def identity__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P a (identity__refl A a)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y i) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P a (identity__refl A a)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y) => + match____identity (cupicef.type (cupicef.s cupicef.z)) A a + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i0 : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y0) => + P y0 i0) + f y i. + +def identity__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P a (identity__refl A a)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y) -> + cupicef.Term cupicef.prop (P y i) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P a (identity__refl A a)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y) => + match____identity cupicef.prop A a + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i0 : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y0) => + P y0 i0) + f y i. + +def identity__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P a (identity__refl A a)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a y) -> + cupicef.Term cupicef.set (P y i) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) -> + cupicef.Univ cupicef.set) => + identity__rect A a + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) + (i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I A + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) + (i : + cupicef.Term cupicef.prop + (identity (cupicef.type (cupicef.s cupicef.z)) A a a0) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I P). + +def ID : + cupicef.Univ (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + +:= cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => A)). + +def id : + cupicef.Term (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) ID + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x. + +def IDProp : + cupicef.Univ cupicef.prop + +:= cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => A)). + +def idProp : + cupicef.Term cupicef.prop IDProp + +:= A : cupicef.Univ cupicef.prop => x : cupicef.Term cupicef.prop A => x. + +(; End of translation. ;) diff --git a/out/Coq__Init__Decimal.dk b/out/Coq__Init__Decimal.dk new file mode 100644 index 000000000..15a4a5689 --- /dev/null +++ b/out/Coq__Init__Decimal.dk @@ -0,0 +1,816 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def uint : + cupicef.Univ cupicef.set. + +def Nil : + cupicef.Term cupicef.set uint. + +def D0 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D1 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D2 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D3 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D4 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D5 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D6 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D7 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D8 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +def D9 : + __ : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint. + +[ ] cupicef.code_guarded? _ Nil --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D0 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D1 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D2 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D3 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D4 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D5 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D6 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D7 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D8 _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (D9 _) --> cupicef.guarded. + +def match____uint : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set uint -> cupicef.Univ s) -> + case__Nil : cupicef.Term s (P Nil) -> + case__D0 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D0 __))) -> + case__D1 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D1 __))) -> + case__D2 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D2 __))) -> + case__D3 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D3 __))) -> + case__D4 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D4 __))) -> + case__D5 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D5 __))) -> + case__D6 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D6 __))) -> + case__D7 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D7 __))) -> + case__D8 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D8 __))) -> + case__D9 : + (__ : cupicef.Term cupicef.set uint -> cupicef.Term s (P (D9 __))) -> + x : cupicef.Term cupicef.set uint -> + cupicef.Term s (P x). + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 Nil + --> + case__Nil. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D0 __) + --> + case__D0 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D1 __) + --> + case__D1 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D2 __) + --> + case__D2 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D3 __) + --> + case__D3 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D4 __) + --> + case__D4 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D5 __) + --> + case__D5 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D6 __) + --> + case__D6 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D7 __) + --> + case__D7 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D8 __) + --> + case__D8 __. + +[ s, P, case__Nil, case__D0, case__D1, case__D2, case__D3, case__D4, case__D5, case__D6, case__D7, case__D8, case__D9, __] + match____uint s P case__Nil case__D0 case__D1 case__D2 case__D3 case__D4 + case__D5 case__D6 case__D7 case__D8 case__D9 (D9 __) + --> + case__D9 __. + +[ s, P, s'] + match____uint s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____uint s' (x => P x). + +def uint__rect : + P : + (u : cupicef.Term cupicef.set uint -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Nil) -> + f0 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D0 u))) -> + f1 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D1 u))) -> + f2 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D2 u))) -> + f3 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D3 u))) -> + f4 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D4 u))) -> + f5 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D5 u))) -> + f6 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D6 u))) -> + f7 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D7 u))) -> + f8 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D8 u))) -> + f9 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D9 u))) -> + u : cupicef.Term cupicef.set uint -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) + +:= P : + (u : cupicef.Term cupicef.set uint -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P Nil) => + f0 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D0 u))) => + f1 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D1 u))) => + f2 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D2 u))) => + f3 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D3 u))) => + f4 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D4 u))) => + f5 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D5 u))) => + f6 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D6 u))) => + f7 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D7 u))) => + f8 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D8 u))) => + f9 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (D9 u))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I uint (u : cupicef.Term cupicef.set uint => P u)))) + (c => + c + (F => + u : cupicef.Term cupicef.set uint => + match____uint (cupicef.type (cupicef.s cupicef.z)) + (u0 : cupicef.Term cupicef.set uint => P u0) f + (u0 : cupicef.Term cupicef.set uint => f0 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f1 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f2 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f3 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f4 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f5 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f6 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f7 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f8 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f9 u0 (F u0)) u)) + cupicef.0. + +def uint__ind : + P : (u : cupicef.Term cupicef.set uint -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P Nil) -> + f0 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D0 u))) -> + f1 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D1 u))) -> + f2 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D2 u))) -> + f3 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D3 u))) -> + f4 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D4 u))) -> + f5 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D5 u))) -> + f6 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D6 u))) -> + f7 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D7 u))) -> + f8 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D8 u))) -> + f9 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D9 u))) -> + u : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.prop (P u) + +:= P : (u : cupicef.Term cupicef.set uint -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P Nil) => + f0 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D0 u))) => + f1 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D1 u))) => + f2 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D2 u))) => + f3 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D3 u))) => + f4 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D4 u))) => + f5 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D5 u))) => + f6 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D6 u))) => + f7 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D7 u))) => + f8 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D8 u))) => + f9 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.prop (P u) -> + cupicef.Term cupicef.prop (P (D9 u))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.prop + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I uint + (u : cupicef.Term cupicef.set uint => P u)))) + (c => + c + (F => + u : cupicef.Term cupicef.set uint => + match____uint cupicef.prop + (u0 : cupicef.Term cupicef.set uint => P u0) f + (u0 : cupicef.Term cupicef.set uint => f0 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f1 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f2 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f3 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f4 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f5 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f6 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f7 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f8 u0 (F u0)) + (u0 : cupicef.Term cupicef.set uint => f9 u0 (F u0)) u)) + cupicef.0. + +def uint__rec : + P : (u : cupicef.Term cupicef.set uint -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P Nil) -> + f0 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D0 u))) -> + f1 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D1 u))) -> + f2 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D2 u))) -> + f3 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D3 u))) -> + f4 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D4 u))) -> + f5 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D5 u))) -> + f6 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D6 u))) -> + f7 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D7 u))) -> + f8 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D8 u))) -> + f9 : + (u : cupicef.Term cupicef.set uint -> + __ : cupicef.Term cupicef.set (P u) -> + cupicef.Term cupicef.set (P (D9 u))) -> + u : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.set (P u) + +:= P : (u : cupicef.Term cupicef.set uint -> cupicef.Univ cupicef.set) => + uint__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I uint + (u : cupicef.Term cupicef.set uint => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I uint + (u : cupicef.Term cupicef.set uint => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def int : + cupicef.Univ cupicef.set. + +def Pos : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set int. + +def Neg : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set int. + +[ ] cupicef.code_guarded? _ (Pos _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (Neg _) --> cupicef.guarded. + +def match____int : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set int -> cupicef.Univ s) -> + case__Pos : + (d : cupicef.Term cupicef.set uint -> cupicef.Term s (P (Pos d))) -> + case__Neg : + (d : cupicef.Term cupicef.set uint -> cupicef.Term s (P (Neg d))) -> + x : cupicef.Term cupicef.set int -> + cupicef.Term s (P x). + +[ s, P, case__Pos, case__Neg, d] + match____int s P case__Pos case__Neg (Pos d) + --> + case__Pos d. + +[ s, P, case__Pos, case__Neg, d] + match____int s P case__Pos case__Neg (Neg d) + --> + case__Neg d. + +[ s, P, s'] + match____int s (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____int s' (x => P x). + +def int__rect : + P : + (i : cupicef.Term cupicef.set int -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Pos d))) -> + f0 : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Neg d))) -> + i : cupicef.Term cupicef.set int -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P i) + +:= P : + (i : cupicef.Term cupicef.set int -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Pos d))) => + f0 : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (Neg d))) => + i : cupicef.Term cupicef.set int => + match____int (cupicef.type (cupicef.s cupicef.z)) + (i0 : cupicef.Term cupicef.set int => P i0) f f0 i. + +def int__ind : + P : (i : cupicef.Term cupicef.set int -> cupicef.Univ cupicef.prop) -> + f : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.prop (P (Pos d))) -> + f0 : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.prop (P (Neg d))) -> + i : cupicef.Term cupicef.set int -> + cupicef.Term cupicef.prop (P i) + +:= P : (i : cupicef.Term cupicef.set int -> cupicef.Univ cupicef.prop) => + f : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.prop (P (Pos d))) => + f0 : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.prop (P (Neg d))) => + i : cupicef.Term cupicef.set int => + match____int cupicef.prop (i0 : cupicef.Term cupicef.set int => P i0) f f0 + i. + +def int__rec : + P : (i : cupicef.Term cupicef.set int -> cupicef.Univ cupicef.set) -> + f : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.set (P (Pos d))) -> + f0 : + (d : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.set (P (Neg d))) -> + i : cupicef.Term cupicef.set int -> + cupicef.Term cupicef.set (P i) + +:= P : (i : cupicef.Term cupicef.set int -> cupicef.Univ cupicef.set) => + int__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I int + (i : cupicef.Term cupicef.set int => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I int + (i : cupicef.Term cupicef.set int => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def nzhead : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint)))) + (c => + c + (nzhead0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) d + (d0 : cupicef.Term cupicef.set uint => nzhead0 d0) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) + (u : cupicef.Term cupicef.set uint => d) d)) + cupicef.0. + +def unorm : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= d : cupicef.Term cupicef.set uint => + match____uint cupicef.set (x : cupicef.Term cupicef.set uint => uint) + (D0 Nil) (u : cupicef.Term cupicef.set uint => D0 u) + (u : cupicef.Term cupicef.set uint => D1 u) + (u : cupicef.Term cupicef.set uint => D2 u) + (u : cupicef.Term cupicef.set uint => D3 u) + (u : cupicef.Term cupicef.set uint => D4 u) + (u : cupicef.Term cupicef.set uint => D5 u) + (u : cupicef.Term cupicef.set uint => D6 u) + (u : cupicef.Term cupicef.set uint => D7 u) + (u : cupicef.Term cupicef.set uint => D8 u) + (u : cupicef.Term cupicef.set uint => D9 u) (nzhead d). + +def norm : + d : cupicef.Term cupicef.set int -> cupicef.Term cupicef.set int + +:= d : cupicef.Term cupicef.set int => + match____int cupicef.set (d0 : cupicef.Term cupicef.set int => int) + (d0 : cupicef.Term cupicef.set uint => Pos (unorm d0)) + (d0 : cupicef.Term cupicef.set uint => + match____uint cupicef.set (x : cupicef.Term cupicef.set uint => int) + (Pos (D0 Nil)) (u : cupicef.Term cupicef.set uint => Neg (D0 u)) + (u : cupicef.Term cupicef.set uint => Neg (D1 u)) + (u : cupicef.Term cupicef.set uint => Neg (D2 u)) + (u : cupicef.Term cupicef.set uint => Neg (D3 u)) + (u : cupicef.Term cupicef.set uint => Neg (D4 u)) + (u : cupicef.Term cupicef.set uint => Neg (D5 u)) + (u : cupicef.Term cupicef.set uint => Neg (D6 u)) + (u : cupicef.Term cupicef.set uint => Neg (D7 u)) + (u : cupicef.Term cupicef.set uint => Neg (D8 u)) + (u : cupicef.Term cupicef.set uint => Neg (D9 u)) (nzhead d0)) + d. + +def opp : + d : cupicef.Term cupicef.set int -> cupicef.Term cupicef.set int + +:= d : cupicef.Term cupicef.set int => + match____int cupicef.set (d0 : cupicef.Term cupicef.set int => int) + (d0 : cupicef.Term cupicef.set uint => Neg d0) + (d0 : cupicef.Term cupicef.set uint => Pos d0) d. + +def revapp : + d : cupicef.Term cupicef.set uint -> + d_27_ : cupicef.Term cupicef.set uint -> + cupicef.Term cupicef.set uint + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I uint + (d : cupicef.Term cupicef.set uint => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d_27_ : cupicef.Term cupicef.set uint => uint))))) + (c => + c + (revapp0 => + d : cupicef.Term cupicef.set uint => + d_27_ : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) d_27_ + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D0 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D1 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D2 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D3 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D4 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D5 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D6 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D7 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D8 d_27_)) + (d0 : cupicef.Term cupicef.set uint => revapp0 d0 (D9 d_27_)) d)) + cupicef.0. + +def rev : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= d : cupicef.Term cupicef.set uint => revapp d Nil. + +def Little__succ : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint)))) + (c => + c + (succ0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) (D1 Nil) + (d0 : cupicef.Term cupicef.set uint => D1 d0) + (d0 : cupicef.Term cupicef.set uint => D2 d0) + (d0 : cupicef.Term cupicef.set uint => D3 d0) + (d0 : cupicef.Term cupicef.set uint => D4 d0) + (d0 : cupicef.Term cupicef.set uint => D5 d0) + (d0 : cupicef.Term cupicef.set uint => D6 d0) + (d0 : cupicef.Term cupicef.set uint => D7 d0) + (d0 : cupicef.Term cupicef.set uint => D8 d0) + (d0 : cupicef.Term cupicef.set uint => D9 d0) + (d0 : cupicef.Term cupicef.set uint => D0 (succ0 d0)) d)) + cupicef.0. + +def Little__double : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= cupicef.fixproj cupicef.2 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint))) + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint)))) + (c => + c + (double0 => + succ__double0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) Nil + (d0 : cupicef.Term cupicef.set uint => D0 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D2 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D4 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D6 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D8 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D0 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D2 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D4 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D6 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D8 (succ__double0 d0)) d) + (double0 => + succ__double0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) (D1 Nil) + (d0 : cupicef.Term cupicef.set uint => D1 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D3 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D5 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D7 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D9 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D1 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D3 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D5 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D7 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D9 (succ__double0 d0)) d)) + cupicef.0. + +def Little__succ__double : + d : cupicef.Term cupicef.set uint -> cupicef.Term cupicef.set uint + +:= cupicef.fixproj cupicef.2 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint))) + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I uint + (d : cupicef.Term cupicef.set uint => uint)))) + (c => + c + (double0 => + succ__double0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) Nil + (d0 : cupicef.Term cupicef.set uint => D0 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D2 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D4 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D6 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D8 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D0 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D2 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D4 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D6 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D8 (succ__double0 d0)) d) + (double0 => + succ__double0 => + d : cupicef.Term cupicef.set uint => + match____uint cupicef.set + (d0 : cupicef.Term cupicef.set uint => uint) (D1 Nil) + (d0 : cupicef.Term cupicef.set uint => D1 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D3 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D5 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D7 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D9 (double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D1 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D3 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D5 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D7 (succ__double0 d0)) + (d0 : cupicef.Term cupicef.set uint => D9 (succ__double0 d0)) d)) + cupicef.1. + +(; End of translation. ;) diff --git a/out/Coq__Init__Logic.dk b/out/Coq__Init__Logic.dk new file mode 100644 index 000000000..35d8c288f --- /dev/null +++ b/out/Coq__Init__Logic.dk @@ -0,0 +1,20146 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +#REQUIRE cupicef. + +def True : + cupicef.Univ cupicef.prop. + +def I : + cupicef.Term cupicef.prop True. + +[ ] cupicef.code_guarded? _ I --> cupicef.guarded. + +def match____True : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.prop True -> cupicef.Univ s) -> + case__I : cupicef.Term s (P I) -> + x : cupicef.Term cupicef.prop True -> + cupicef.Term s (P x). + +[ s, P, case__I] + match____True s P case__I I + --> + case__I. + +[ s, P, s'] + match____True s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____True s' (x => P x). + +def True__rect : + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P -> + t : cupicef.Term cupicef.prop True -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P + +:= P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + t : cupicef.Term cupicef.prop True => + match____True (cupicef.type (cupicef.s cupicef.z)) + (__ : cupicef.Term cupicef.prop True => P) f t. + +def True__ind : + P : cupicef.Univ cupicef.prop -> + f : cupicef.Term cupicef.prop P -> + t : cupicef.Term cupicef.prop True -> + cupicef.Term cupicef.prop P + +:= P : cupicef.Univ cupicef.prop => + f : cupicef.Term cupicef.prop P => + t : cupicef.Term cupicef.prop True => + match____True cupicef.prop (__ : cupicef.Term cupicef.prop True => P) f t. + +def True__rec : + P : cupicef.Univ cupicef.set -> + f : cupicef.Term cupicef.set P -> + t : cupicef.Term cupicef.prop True -> + cupicef.Term cupicef.set P + +:= P : cupicef.Univ cupicef.set => + True__rect + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P). + +def False : + cupicef.Univ cupicef.prop. + +def match____False : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.prop False -> cupicef.Univ s) -> + x : cupicef.Term cupicef.prop False -> + cupicef.Term s (P x). + +[ s, P, s'] + match____False s + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____False s' (x => P x). + +def False__rect : + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : cupicef.Term cupicef.prop False -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P + +:= P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : cupicef.Term cupicef.prop False => + match____False (cupicef.type (cupicef.s cupicef.z)) + (__ : cupicef.Term cupicef.prop False => P) f. + +def False__ind : + P : cupicef.Univ cupicef.prop -> + f : cupicef.Term cupicef.prop False -> + cupicef.Term cupicef.prop P + +:= P : cupicef.Univ cupicef.prop => + f : cupicef.Term cupicef.prop False => + match____False cupicef.prop (__ : cupicef.Term cupicef.prop False => P) f. + +def False__rec : + P : cupicef.Univ cupicef.set -> + f : cupicef.Term cupicef.prop False -> + cupicef.Term cupicef.set P + +:= P : cupicef.Univ cupicef.set => + False__rect + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P). + +def not : + A : cupicef.Univ cupicef.prop -> cupicef.Univ cupicef.prop + +:= A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False). + +def and : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.prop. + +def conj : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (and A B). + +[ ] cupicef.code_guarded? _ (conj _ _ _ _) --> cupicef.guarded. + +def match____and : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : (cupicef.Term cupicef.prop (and A B) -> cupicef.Univ s) -> + case__conj : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term s (P (conj A B __ __0))) -> + x : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__conj, __, __0] + match____and s A B P case__conj (conj A B __ __0) + --> + case__conj __ __0. + +[ s, A, B, P, s'] + match____and s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____and s' A B (x => P x). + +def and__rect : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P) -> + a : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P) => + a : cupicef.Term cupicef.prop (and A B) => + match____and (cupicef.type (cupicef.s cupicef.z)) A B + (__ : cupicef.Term cupicef.prop (and A B) => P) f a. + +def and__ind : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : cupicef.Univ cupicef.prop -> + f : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop P) -> + a : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop P + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : cupicef.Univ cupicef.prop => + f : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop P) => + a : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => P) f a. + +def and__rec : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : cupicef.Univ cupicef.set -> + f : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.set P) -> + a : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.set P + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : cupicef.Univ cupicef.set => + and__rect A B + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P). + +thm proj1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => A) + (H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + H0) + H. + +thm proj2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => B) + (H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + H1) + H. + +def or : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.prop. + +def or__introl : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (or A B). + +def or__intror : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (or A B). + +[ ] cupicef.code_guarded? _ (or__introl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (or__intror _ _ _) --> cupicef.guarded. + +def match____or : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : (cupicef.Term cupicef.prop (or A B) -> cupicef.Univ s) -> + case__or__introl : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term s (P (or__introl A B __))) -> + case__or__intror : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term s (P (or__intror A B __))) -> + x : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__or__introl, case__or__intror, __] + match____or s A B P case__or__introl case__or__intror (or__introl A B __) + --> + case__or__introl __. + +[ s, A, B, P, case__or__introl, case__or__intror, __] + match____or s A B P case__or__introl case__or__intror (or__intror A B __) + --> + case__or__intror __. + +[ s, A, B, P, s'] + match____or s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____or s' A B (x => P x). + +def or__ind : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : cupicef.Univ cupicef.prop -> + f : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop P) -> + f0 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop P) -> + o : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop P + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : cupicef.Univ cupicef.prop => + f : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop P) => + f0 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop P) => + o : cupicef.Term cupicef.prop (or A B) => + match____or cupicef.prop A B + (__ : cupicef.Term cupicef.prop (or A B) => P) f f0 o. + +def iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)). + +thm iff__refl : + A : cupicef.Univ cupicef.prop -> cupicef.Term cupicef.prop (iff A A) + +:= A : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => A)) + (H : cupicef.Term cupicef.prop A => H) + (H : cupicef.Term cupicef.prop A => H). + +thm iff__trans : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff A B) -> + __0 : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop (iff A C) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff A B) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff B C) + (__0 : cupicef.Term cupicef.prop (iff B C) => iff A C)) + (H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H0 : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff A C) + (H3 : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + H4 : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => A)) + (H5 : cupicef.Term cupicef.prop A => H3 (H1 H5)) + (H5 : cupicef.Term cupicef.prop C => H2 (H1 (H2 (H4 H5))))) + H0) + H. + +thm iff__sym : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff A B) -> + cupicef.Term cupicef.prop (iff B A) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff A B) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + iff B A) + (H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + H2 H1) + H. + +thm and__iff__compat__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop (iff (and A B) (and A C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff (and A B) (and A C)) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A B) + (__ : cupicef.Term cupicef.prop (and A B) => and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A C) + (__ : cupicef.Term cupicef.prop (and A C) => and A B)) + (H0 : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => and A C) + (H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + conj A C H1 (Hl H2)) + H0) + (H0 : cupicef.Term cupicef.prop (and A C) => + match____and cupicef.prop A C + (__ : cupicef.Term cupicef.prop (and A C) => and A B) + (H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop C => + conj A B H1 (Hr H2)) + H0)) + H. + +thm and__iff__compat__r : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop (iff (and B A) (and C A)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff (and B A) (and C A)) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and B A) + (__ : cupicef.Term cupicef.prop (and B A) => and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and C A) + (__ : cupicef.Term cupicef.prop (and C A) => and B A)) + (H0 : cupicef.Term cupicef.prop (and B A) => + match____and cupicef.prop B A + (__ : cupicef.Term cupicef.prop (and B A) => and C A) + (H1 : cupicef.Term cupicef.prop B => + H2 : cupicef.Term cupicef.prop A => + conj C A (Hl H1) H2) + H0) + (H0 : cupicef.Term cupicef.prop (and C A) => + match____and cupicef.prop C A + (__ : cupicef.Term cupicef.prop (and C A) => and B A) + (H1 : cupicef.Term cupicef.prop C => + H2 : cupicef.Term cupicef.prop A => + conj B A (Hr H1) H2) + H0)) + H. + +thm or__iff__compat__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop (iff (or A B) (or A C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff (or A B) (or A C)) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A B) + (__ : cupicef.Term cupicef.prop (or A B) => or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A C) + (__ : cupicef.Term cupicef.prop (or A C) => or A B)) + (H0 : cupicef.Term cupicef.prop (or A B) => + match____or cupicef.prop A B + (__ : cupicef.Term cupicef.prop (or A B) => or A C) + (H1 : cupicef.Term cupicef.prop A => or__introl A C H1) + (H1 : cupicef.Term cupicef.prop B => or__intror A C (Hl H1)) H0) + (H0 : cupicef.Term cupicef.prop (or A C) => + match____or cupicef.prop A C + (__ : cupicef.Term cupicef.prop (or A C) => or A B) + (H1 : cupicef.Term cupicef.prop A => or__introl A B H1) + (H1 : cupicef.Term cupicef.prop C => or__intror A B (Hr H1)) H0)) + H. + +thm or__iff__compat__r : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop (iff (or B A) (or C A)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff (or B A) (or C A)) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or B A) + (__ : cupicef.Term cupicef.prop (or B A) => or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or C A) + (__ : cupicef.Term cupicef.prop (or C A) => or B A)) + (H0 : cupicef.Term cupicef.prop (or B A) => + match____or cupicef.prop B A + (__ : cupicef.Term cupicef.prop (or B A) => or C A) + (H1 : cupicef.Term cupicef.prop B => or__introl C A (Hl H1)) + (H1 : cupicef.Term cupicef.prop A => or__intror C A H1) H0) + (H0 : cupicef.Term cupicef.prop (or C A) => + match____or cupicef.prop C A + (__ : cupicef.Term cupicef.prop (or C A) => or B A) + (H1 : cupicef.Term cupicef.prop C => or__introl B A (Hr H1)) + (H1 : cupicef.Term cupicef.prop A => or__intror B A H1) H0)) + H. + +thm imp__iff__compat__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => C))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => C))) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => C))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => C)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop C) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (H0 : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : cupicef.Term cupicef.prop A => + Hl (H0 H1)) + (H0 : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop C) => + H1 : cupicef.Term cupicef.prop A => + Hr (H0 H1))) + H. + +thm imp__iff__compat__r : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff B C) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__0 : cupicef.Term cupicef.prop C => A))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff B C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B))) => + iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__0 : cupicef.Term cupicef.prop C => A))) + (Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop C) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop B) => + conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__0 : cupicef.Term cupicef.prop C => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => A)) + (__ : + (__ : cupicef.Term cupicef.prop C -> + cupicef.Term cupicef.prop A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (H0 : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 : cupicef.Term cupicef.prop C => + H0 (Hr H1)) + (H0 : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + H1 : cupicef.Term cupicef.prop B => + H0 (Hl H1))) + H. + +thm not__iff__compat : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff A B) -> + cupicef.Term cupicef.prop (iff (not A) (not B)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff A B) => + imp__iff__compat__r False A B H. + +thm neg__false : + A : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (iff (not A) (iff A False)) + +:= A : cupicef.Univ cupicef.prop => + cupicef.cast cupicef.prop cupicef.prop + (and + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False) => + iff A False)) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (iff A False) + (__ : cupicef.Term cupicef.prop (iff A False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => False)))) + (iff (not A) (iff A False)) cupicef.I + (conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False) => + iff A False)) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (iff A False) + (__ : cupicef.Term cupicef.prop (iff A False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => False))) + (H : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I False + (__ : cupicef.Term cupicef.prop False => A)) + H (H1 : cupicef.Term cupicef.prop False => False__ind A H1)) + (H0 : cupicef.Term cupicef.prop (iff A False) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I False + (__ : cupicef.Term cupicef.prop False => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + False (__ : cupicef.Term cupicef.prop False => A))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => False)) + (H : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False) => + __tmp : + (__ : cupicef.Term cupicef.prop False -> + cupicef.Term cupicef.prop A) => + H) + H0)). + +def let__H0 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + H : cupicef.Term cupicef.prop (iff (and A B) (and A C)) -> + HypL : + (__ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop (and A C)) -> + HypR : + (__ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop (and A B)) -> + H0 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop C + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + H : cupicef.Term cupicef.prop (iff (and A B) (and A C)) => + HypL : + (__ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop (and A C)) => + HypR : + (__ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop (and A B)) => + H0 : cupicef.Term cupicef.prop B => + __ : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A C + (__0 : cupicef.Term cupicef.prop (and A C) => C) + (__0 : cupicef.Term cupicef.prop A => + __1 : cupicef.Term cupicef.prop C => + __1) + (HypL __). + +def let__H1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + H : cupicef.Term cupicef.prop (iff (and A B) (and A C)) -> + HypL : + (__ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop (and A C)) -> + HypR : + (__ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop (and A B)) -> + H0 : cupicef.Term cupicef.prop C -> + __ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + H : cupicef.Term cupicef.prop (iff (and A B) (and A C)) => + HypL : + (__ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop (and A C)) => + HypR : + (__ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop (and A B)) => + H0 : cupicef.Term cupicef.prop C => + __ : cupicef.Term cupicef.prop (and A C) => + match____and cupicef.prop A B + (__0 : cupicef.Term cupicef.prop (and A B) => B) + (__0 : cupicef.Term cupicef.prop A => + __1 : cupicef.Term cupicef.prop B => + __1) + (HypR __). + +thm and__cancel__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + __0 : (__0 : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop (iff (iff (and A B) (and A C)) (iff B C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (iff (and A B) (and A C)) + (__ : cupicef.Term cupicef.prop (iff (and A B) (and A C)) => iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff B C) + (__ : cupicef.Term cupicef.prop (iff B C) => iff (and A B) (and A C))) + (H : cupicef.Term cupicef.prop (iff (and A B) (and A C)) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A B) + (__ : cupicef.Term cupicef.prop (and A B) => and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A C) + (__ : cupicef.Term cupicef.prop (and A C) => and A B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and A B) + (__ : cupicef.Term cupicef.prop (and A B) => and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and A C) + (__ : cupicef.Term cupicef.prop (and A C) => and A B))) => + iff B C) + (HypL : + (__ : cupicef.Term cupicef.prop (and A B) -> + cupicef.Term cupicef.prop (and A C)) => + HypR : + (__ : cupicef.Term cupicef.prop (and A C) -> + cupicef.Term cupicef.prop (and A B)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (H0 : cupicef.Term cupicef.prop B => + let__H0 A B C Hl Hr H HypL HypR H0 (conj A B (Hl H0) H0)) + (H0 : cupicef.Term cupicef.prop C => + let__H1 A B C Hl Hr H HypL HypR H0 (conj A C (Hr H0) H0))) + H) + (and__iff__compat__l A B C). + +def let__H2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + H : cupicef.Term cupicef.prop (iff (and B A) (and C A)) -> + HypL : + (__ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop (and C A)) -> + HypR : + (__ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop (and B A)) -> + H0 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop C + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + H : cupicef.Term cupicef.prop (iff (and B A) (and C A)) => + HypL : + (__ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop (and C A)) => + HypR : + (__ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop (and B A)) => + H0 : cupicef.Term cupicef.prop B => + __ : cupicef.Term cupicef.prop (and B A) => + match____and cupicef.prop C A + (__0 : cupicef.Term cupicef.prop (and C A) => C) + (__0 : cupicef.Term cupicef.prop C => + __1 : cupicef.Term cupicef.prop A => + __0) + (HypL __). + +def let__H3 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + H : cupicef.Term cupicef.prop (iff (and B A) (and C A)) -> + HypL : + (__ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop (and C A)) -> + HypR : + (__ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop (and B A)) -> + H0 : cupicef.Term cupicef.prop C -> + __ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + H : cupicef.Term cupicef.prop (iff (and B A) (and C A)) => + HypL : + (__ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop (and C A)) => + HypR : + (__ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop (and B A)) => + H0 : cupicef.Term cupicef.prop C => + __ : cupicef.Term cupicef.prop (and C A) => + match____and cupicef.prop B A + (__0 : cupicef.Term cupicef.prop (and B A) => B) + (__0 : cupicef.Term cupicef.prop B => + __1 : cupicef.Term cupicef.prop A => + __0) + (HypR __). + +thm and__cancel__r : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + __0 : (__0 : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop (iff (iff (and B A) (and C A)) (iff B C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Hl : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + Hr : (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (iff (and B A) (and C A)) + (__ : cupicef.Term cupicef.prop (iff (and B A) (and C A)) => iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff B C) + (__ : cupicef.Term cupicef.prop (iff B C) => iff (and B A) (and C A))) + (H : cupicef.Term cupicef.prop (iff (and B A) (and C A)) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and B A) + (__ : cupicef.Term cupicef.prop (and B A) => and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and C A) + (__ : cupicef.Term cupicef.prop (and C A) => and B A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and B A) + (__ : cupicef.Term cupicef.prop (and B A) => and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and C A) + (__ : cupicef.Term cupicef.prop (and C A) => and B A))) => + iff B C) + (HypL : + (__ : cupicef.Term cupicef.prop (and B A) -> + cupicef.Term cupicef.prop (and C A)) => + HypR : + (__ : cupicef.Term cupicef.prop (and C A) -> + cupicef.Term cupicef.prop (and B A)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (H0 : cupicef.Term cupicef.prop B => + let__H2 A B C Hl Hr H HypL HypR H0 (conj B A H0 (Hl H0))) + (H0 : cupicef.Term cupicef.prop C => + let__H3 A B C Hl Hr H HypL HypR H0 (conj C A H0 (Hr H0)))) + H) + (and__iff__compat__r A B C). + +thm and__comm : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (iff (and A B) (and B A)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A B) + (__ : cupicef.Term cupicef.prop (and A B) => and B A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and B A) + (__ : cupicef.Term cupicef.prop (and B A) => and A B)) + (H : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => and B A) + (H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + conj B A H1 H0) + H) + (H : cupicef.Term cupicef.prop (and B A) => + match____and cupicef.prop B A + (__ : cupicef.Term cupicef.prop (and B A) => and A B) + (H0 : cupicef.Term cupicef.prop B => + H1 : cupicef.Term cupicef.prop A => + conj A B H1 H0) + H). + +thm and__assoc : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (iff (and (and A B) C) (and A (and B C))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and (and A B) C) + (__ : cupicef.Term cupicef.prop (and (and A B) C) => and A (and B C))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (and A (and B C)) + (__ : cupicef.Term cupicef.prop (and A (and B C)) => and (and A B) C)) + (H : cupicef.Term cupicef.prop (and (and A B) C) => + match____and cupicef.prop (and A B) C + (__ : cupicef.Term cupicef.prop (and (and A B) C) => and A (and B C)) + (H0 : cupicef.Term cupicef.prop (and A B) => + match____and cupicef.prop A B + (__ : cupicef.Term cupicef.prop (and A B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__0 : cupicef.Term cupicef.prop C => and A (and B C))) + (H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop C => + conj A (and B C) H1 (conj B C H2 H3)) + H0) + H) + (H : cupicef.Term cupicef.prop (and A (and B C)) => + match____and cupicef.prop A (and B C) + (__ : cupicef.Term cupicef.prop (and A (and B C)) => and (and A B) C) + (H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop (and B C) => + match____and cupicef.prop B C + (__ : cupicef.Term cupicef.prop (and B C) => and (and A B) C) + (H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop C => + conj (and A B) C (conj A B H0 H2) H3) + H1) + H). + +def let__o : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) -> + H0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (or A C) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) => + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) => + H0 : cupicef.Term cupicef.prop B => + Hl (or__intror A B H0). + +def let__n : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) => + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) => + H0 : cupicef.Term cupicef.prop B => + H1 : cupicef.Term cupicef.prop A => + Fl H0 H1. + +def let__o0 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) -> + H0 : cupicef.Term cupicef.prop C -> + cupicef.Term cupicef.prop (or A B) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) => + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) => + H0 : cupicef.Term cupicef.prop C => + Hr (or__intror A C H0). + +def let__n0 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) -> + H0 : cupicef.Term cupicef.prop C -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => + Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) => + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) => + H0 : cupicef.Term cupicef.prop C => + H1 : cupicef.Term cupicef.prop A => + Fr H0 H1. + +thm or__cancel__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + __0 : + (__0 : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + cupicef.Term cupicef.prop (iff (iff (or A B) (or A C)) (iff B C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (iff (or A B) (or A C)) + (__ : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff B C) + (__ : cupicef.Term cupicef.prop (iff B C) => iff (or A B) (or A C))) + (H : cupicef.Term cupicef.prop (iff (or A B) (or A C)) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A B) + (__ : cupicef.Term cupicef.prop (or A B) => or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A C) + (__ : cupicef.Term cupicef.prop (or A C) => or A B)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (or A B) + (__ : cupicef.Term cupicef.prop (or A B) => or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (or A C) + (__ : cupicef.Term cupicef.prop (or A C) => or A B))) => + iff B C) + (Hl : + (__ : cupicef.Term cupicef.prop (or A B) -> + cupicef.Term cupicef.prop (or A C)) => + Hr : + (__ : cupicef.Term cupicef.prop (or A C) -> + cupicef.Term cupicef.prop (or A B)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (H0 : cupicef.Term cupicef.prop B => + match____or cupicef.prop A C + (__ : cupicef.Term cupicef.prop (or A C) => C) + (H1 : cupicef.Term cupicef.prop A => + match____False cupicef.prop + (__ : cupicef.Term cupicef.prop False => C) + (let__n A B C Fl Fr H Hl Hr H0 H1)) + (H1 : cupicef.Term cupicef.prop C => H1) + (let__o A B C Fl Fr H Hl Hr H0)) + (H0 : cupicef.Term cupicef.prop C => + match____or cupicef.prop A B + (__ : cupicef.Term cupicef.prop (or A B) => B) + (H1 : cupicef.Term cupicef.prop A => + match____False cupicef.prop + (__ : cupicef.Term cupicef.prop False => B) + (let__n0 A B C Fl Fr H Hl Hr H0 H1)) + (H1 : cupicef.Term cupicef.prop B => H1) + (let__o0 A B C Fl Fr H Hl Hr H0))) + H) + (or__iff__compat__l A B C). + +def let__o1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) -> + H0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (or C A) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) => + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) => + H0 : cupicef.Term cupicef.prop B => + Hl (or__introl B A H0). + +def let__n1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) => + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) => + H0 : cupicef.Term cupicef.prop B => + H1 : cupicef.Term cupicef.prop A => + Fl H0 H1. + +def let__o2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) -> + H0 : cupicef.Term cupicef.prop C -> + cupicef.Term cupicef.prop (or B A) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) => + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) => + H0 : cupicef.Term cupicef.prop C => + Hr (or__introl C A H0). + +def let__n2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) -> + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) -> + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) -> + H0 : cupicef.Term cupicef.prop C -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => + Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) => + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) => + H0 : cupicef.Term cupicef.prop C => + H1 : cupicef.Term cupicef.prop A => + Fr H0 H1. + +thm or__cancel__r : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) -> + __0 : + (__0 : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) -> + cupicef.Term cupicef.prop (iff (iff (or B A) (or C A)) (iff B C)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + Fl : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop (not A)) => + Fr : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop (not A)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (iff (or B A) (or C A)) + (__ : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff B C) + (__ : cupicef.Term cupicef.prop (iff B C) => iff (or B A) (or C A))) + (H : cupicef.Term cupicef.prop (iff (or B A) (or C A)) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or B A) + (__ : cupicef.Term cupicef.prop (or B A) => or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or C A) + (__ : cupicef.Term cupicef.prop (or C A) => or B A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (or B A) + (__ : cupicef.Term cupicef.prop (or B A) => or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (or C A) + (__ : cupicef.Term cupicef.prop (or C A) => or B A))) => + iff B C) + (Hl : + (__ : cupicef.Term cupicef.prop (or B A) -> + cupicef.Term cupicef.prop (or C A)) => + Hr : + (__ : cupicef.Term cupicef.prop (or C A) -> + cupicef.Term cupicef.prop (or B A)) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (H0 : cupicef.Term cupicef.prop B => + match____or cupicef.prop C A + (__ : cupicef.Term cupicef.prop (or C A) => C) + (H1 : cupicef.Term cupicef.prop C => H1) + (H1 : cupicef.Term cupicef.prop A => + match____False cupicef.prop + (__ : cupicef.Term cupicef.prop False => C) + (let__n1 A B C Fl Fr H Hl Hr H0 H1)) + (let__o1 A B C Fl Fr H Hl Hr H0)) + (H0 : cupicef.Term cupicef.prop C => + match____or cupicef.prop B A + (__ : cupicef.Term cupicef.prop (or B A) => B) + (H1 : cupicef.Term cupicef.prop B => H1) + (H1 : cupicef.Term cupicef.prop A => + match____False cupicef.prop + (__ : cupicef.Term cupicef.prop False => B) + (let__n2 A B C Fl Fr H Hl Hr H0 H1)) + (let__o2 A B C Fl Fr H Hl Hr H0))) + H) + (or__iff__compat__r A B C). + +thm or__comm : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (iff (or A B) (or B A)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A B) + (__ : cupicef.Term cupicef.prop (or A B) => or B A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or B A) + (__ : cupicef.Term cupicef.prop (or B A) => or A B)) + (H : cupicef.Term cupicef.prop (or A B) => + match____or cupicef.prop A B + (__ : cupicef.Term cupicef.prop (or A B) => or B A) + (H0 : cupicef.Term cupicef.prop A => or__intror B A H0) + (H0 : cupicef.Term cupicef.prop B => or__introl B A H0) H) + (H : cupicef.Term cupicef.prop (or B A) => + match____or cupicef.prop B A + (__ : cupicef.Term cupicef.prop (or B A) => or A B) + (H0 : cupicef.Term cupicef.prop B => or__intror A B H0) + (H0 : cupicef.Term cupicef.prop A => or__introl A B H0) H). + +thm or__assoc : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop (iff (or (or A B) C) (or A (or B C))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or (or A B) C) + (__ : cupicef.Term cupicef.prop (or (or A B) C) => or A (or B C))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (or A (or B C)) + (__ : cupicef.Term cupicef.prop (or A (or B C)) => or (or A B) C)) + (H : cupicef.Term cupicef.prop (or (or A B) C) => + match____or cupicef.prop (or A B) C + (__ : cupicef.Term cupicef.prop (or (or A B) C) => or A (or B C)) + (H0 : cupicef.Term cupicef.prop (or A B) => + match____or cupicef.prop A B + (__ : cupicef.Term cupicef.prop (or A B) => or A (or B C)) + (H1 : cupicef.Term cupicef.prop A => or__introl A (or B C) H1) + (H1 : cupicef.Term cupicef.prop B => + or__intror A (or B C) (or__introl B C H1)) + H0) + (H0 : cupicef.Term cupicef.prop C => + or__intror A (or B C) (or__intror B C H0)) + H) + (H : cupicef.Term cupicef.prop (or A (or B C)) => + match____or cupicef.prop A (or B C) + (__ : cupicef.Term cupicef.prop (or A (or B C)) => or (or A B) C) + (H0 : cupicef.Term cupicef.prop A => + or__introl (or A B) C (or__introl A B H0)) + (H0 : cupicef.Term cupicef.prop (or B C) => + match____or cupicef.prop B C + (__ : cupicef.Term cupicef.prop (or B C) => or (or A B) C) + (H1 : cupicef.Term cupicef.prop B => + or__introl (or A B) C (or__intror A B H1)) + (H1 : cupicef.Term cupicef.prop C => or__intror (or A B) C H1) H0) + H). + +thm iff__and : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff A B) -> + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff A B) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + H0 H1) + H. + +thm iff__to__and : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop + (iff (iff A B) + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff A B) + (__ : cupicef.Term cupicef.prop (iff A B) => + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + iff A B)) + (H : cupicef.Term cupicef.prop (iff A B) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (Hl : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + Hr : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (H0 : cupicef.Term cupicef.prop A => Hl H0) + (H0 : cupicef.Term cupicef.prop B => Hr H0)) + H) + (H : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + iff A B) + (Hl : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + Hr : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (H0 : cupicef.Term cupicef.prop A => Hl H0) + (H0 : cupicef.Term cupicef.prop B => Hr H0)) + H). + +def IF__then__else : + P : cupicef.Univ cupicef.prop -> + Q : cupicef.Univ cupicef.prop -> + R : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.prop + +:= P : cupicef.Univ cupicef.prop => + Q : cupicef.Univ cupicef.prop => + R : cupicef.Univ cupicef.prop => + or (and P Q) (and (not P) R). + +def ex : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop. + +def ex__intro : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (ex A P). + +[ ] cupicef.code_guarded? _ (ex__intro _ _ _ _) --> cupicef.guarded. + +def match____ex : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : (cupicef.Term cupicef.prop (ex A P) -> cupicef.Univ s) -> + case__ex__intro : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term s (P0 (ex__intro A P x0 __))) -> + x : cupicef.Term cupicef.prop (ex A P) -> + cupicef.Term s (P0 x). + +[ s, A, P, P0, case__ex__intro, x0, __] + match____ex s A P P0 case__ex__intro (ex__intro A P x0 __) + --> + case__ex__intro x0 __. + +[ s, A, P, P0, s'] + match____ex s A P + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____ex s' A P (x => P0 x). + +def ex__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : cupicef.Univ cupicef.prop -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop P0) -> + e : cupicef.Term cupicef.prop (ex A P) -> + cupicef.Term cupicef.prop P0 + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : cupicef.Univ cupicef.prop => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop P0) => + e : cupicef.Term cupicef.prop (ex A P) => + match____ex cupicef.prop A P + (__ : cupicef.Term cupicef.prop (ex A P) => P0) f e. + +def ex2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop. + +def ex__intro2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + __0 : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop (ex2 A P Q). + +[ ] cupicef.code_guarded? _ (ex__intro2 _ _ _ _ _ _) --> cupicef.guarded. + +def match____ex2 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : (cupicef.Term cupicef.prop (ex2 A P Q) -> cupicef.Univ s) -> + case__ex__intro2 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + __0 : cupicef.Term cupicef.prop (Q x0) -> + cupicef.Term s (P0 (ex__intro2 A P Q x0 __ __0))) -> + x : cupicef.Term cupicef.prop (ex2 A P Q) -> + cupicef.Term s (P0 x). + +[ s, A, P, Q, P0, case__ex__intro2, x0, __, __0] + match____ex2 s A P Q P0 case__ex__intro2 (ex__intro2 A P Q x0 __ __0) + --> + case__ex__intro2 x0 __ __0. + +[ s, A, P, Q, P0, s'] + match____ex2 s A P Q + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____ex2 s' A P Q (x => P0 x). + +def ex2__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : cupicef.Univ cupicef.prop -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + __0 : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop P0) -> + e : cupicef.Term cupicef.prop (ex2 A P Q) -> + cupicef.Term cupicef.prop P0 + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : cupicef.Univ cupicef.prop => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + __0 : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop P0) => + e : cupicef.Term cupicef.prop (ex2 A P Q) => + match____ex2 cupicef.prop A P Q + (__ : cupicef.Term cupicef.prop (ex2 A P Q) => P0) f e. + +def all : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x). + +thm inst : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (all A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0)) -> + cupicef.Term cupicef.prop (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + (H : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x0)) => + P x))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (all A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + (__ : + cupicef.Term cupicef.prop + (all A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) => + P x))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x0)) => + H x). + +thm gen : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + B : cupicef.Univ cupicef.prop -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P y)) -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (all A P) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => P y))) + (f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P y)) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)) + cupicef.I B + (H : cupicef.Term cupicef.prop B => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => P y))) + (f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P y)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => all A P)))) + cupicef.I + (B : cupicef.Univ cupicef.prop => + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P y)) => + H : cupicef.Term cupicef.prop B => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f x H). + +def eq : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + __ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ cupicef.prop. + +def eq__refl : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Term cupicef.prop (eq A x x). + +[ ] cupicef.code_guarded? _ (eq__refl _ _) --> cupicef.guarded. + +def match____eq : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Term cupicef.prop (eq A x __) -> + cupicef.Univ s) -> + case__eq__refl : cupicef.Term s (P x (eq__refl A x)) -> + __ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + x0 : cupicef.Term cupicef.prop (eq A x __) -> + cupicef.Term s (P __ x0). + +[ s, A, x, P, case__eq__refl] + match____eq s A x P case__eq__refl {x} (eq__refl A x) + --> + case__eq__refl. + +[ s, A, x, P, s'] + match____eq s A x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____eq s' A x (__ => x => P __ x). + +def eq__rect : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (eq A x y) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e : cupicef.Term cupicef.prop (eq A x y) => + match____eq (cupicef.type (cupicef.s cupicef.z)) A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A x y0) => + P y0) + f y e. + +def eq__ind : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (eq A x y) -> + cupicef.Term cupicef.prop (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P x) => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e : cupicef.Term cupicef.prop (eq A x y) => + match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A x y0) => + P y0) + f y e. + +def eq__rec : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (eq A x y) -> + cupicef.Term cupicef.set (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Univ cupicef.set) => + eq__rect A x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def let__f : + A : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + h1 : cupicef.Term cupicef.prop A -> + h2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop False) -> + cupicef.Term cupicef.prop False + +:= A : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + h1 : cupicef.Term cupicef.prop A => + h2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop False) => + h2 h1. + +thm absurd : + A : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop (not A) -> + cupicef.Term cupicef.prop C + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (C : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I A + (h1 : cupicef.Term cupicef.prop A => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => False)) + (h2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop False) => + C))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (C : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + not A) (__0 : cupicef.Term cupicef.prop (not A) => C))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + h1 : cupicef.Term cupicef.prop A => + h2 : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop False) => + match____False cupicef.prop (__ : cupicef.Term cupicef.prop False => C) + (let__f A C h1 h2)). + +def eq__sym : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + __ : cupicef.Term cupicef.prop (eq A x y) -> + cupicef.Term cupicef.prop (eq A y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H : cupicef.Term cupicef.prop (eq A x y) => + match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A x y0) => + eq A y0 x) + (eq__refl A x) y H. + +def eq__trans : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + z : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + __ : cupicef.Term cupicef.prop (eq A x y) -> + __0 : cupicef.Term cupicef.prop (eq A y z) -> + cupicef.Term cupicef.prop (eq A x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + z : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H : cupicef.Term cupicef.prop (eq A x y) => + H0 : cupicef.Term cupicef.prop (eq A y z) => + match____eq cupicef.prop A y + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A y y0) => + eq A x y0) + H z H0. + +def f__equal : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + B : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) B) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + __ : cupicef.Term cupicef.prop (eq A x y) -> + cupicef.Term cupicef.prop (eq B (f x) (f y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + B : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) B) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H : cupicef.Term cupicef.prop (eq A x y) => + match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A x y0) => + eq B (f x) (f y0)) + (eq__refl B (f x)) y H. + +thm not__eq__sym : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + __ : cupicef.Term cupicef.prop (not (eq A x y)) -> + cupicef.Term cupicef.prop (not (eq A y x)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + cupicef.cast + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (not (eq A x y)) + (h1 : cupicef.Term cupicef.prop (not (eq A x y)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq A y x) + (h2 : cupicef.Term cupicef.prop (eq A y x) => False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (not (eq A x y)) + (__ : cupicef.Term cupicef.prop (not (eq A x y)) => not (eq A y x))) + cupicef.I + (h1 : cupicef.Term cupicef.prop (not (eq A x y)) => + h2 : cupicef.Term cupicef.prop (eq A y x) => + h1 + (match____eq cupicef.prop A y + (y0 : + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + __ : cupicef.Term cupicef.prop (eq A y y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (not (eq A y0 y)) + (h3 : cupicef.Term cupicef.prop (not (eq A y0 y)) => eq A y0 y)) + (h3 : cupicef.Term cupicef.prop (not (eq A y y)) => eq__refl A y) + x h2 h1)). + +def eq__ind__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) -> + cupicef.Term cupicef.prop (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) => + eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P y0) H y + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0). + +def eq__rec__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : cupicef.Term cupicef.set (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) -> + cupicef.Term cupicef.set (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + H : cupicef.Term cupicef.set (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) => + eq__rec + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P y0) H y + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0). + +def eq__rect__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + H : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) => + eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P y0) H y + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0). + +def rew__opp__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P (eq__rect__r A y P a x H) y H) + a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P y0) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y0)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P (eq__rect__r A y0 P a0 x e) y0 e) + a0)) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + a0) + y H a. + +def rew__opp__l : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect__r A y P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P a y H) + x H) + a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect__r A y0 P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P a y0 e) + x e) + a) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + a) + y H. + +thm f__equal2 : + A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f y1 y2)) + +:= A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f y y2))) + (H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f x1 y)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2)) + y2 H0) + y1 H. + +thm f__equal3 : + A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) -> + __1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f y1 y2 y3)) + +:= A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f y y2 y3)))) + (H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f x1 y y3))) + (H1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f x1 x2 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3)) + y3 H1) + y2 H0) + y1 H. + +thm f__equal4 : + A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A4 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + __2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + x4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + y4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) -> + __1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) -> + __2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f y1 y2 y3 y4)) + +:= A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A4 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + __2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + x4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + y4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f y y2 y3 y4))))) + (H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f x1 y y3 y4)))) + (H1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f x1 x2 y y4))) + (H2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f x1 x2 x3 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4)) + y4 H2) + y3 H1) + y2 H0) + y1 H. + +thm f__equal5 : + A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A4 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A5 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + __2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + __3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + x4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + y4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + x5 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 -> + y5 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 -> + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) -> + __1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) -> + __2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) -> + __3 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f y1 y2 y3 y4 y5)) + +:= A1 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A2 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A3 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A4 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A5 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 -> + __1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 -> + __2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 -> + __3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + y2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + y3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + x4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + y4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + x5 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 => + y5 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A1 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (__3 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f y y2 y3 y4 y5)))))) + (H0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A2 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (__2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f x1 y y3 y4 y5))))) + (H1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A3 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (__1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f x1 x2 y y4 y5)))) + (H2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) => + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A4 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (__0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f x1 x2 x3 y y5))) + (H3 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) => + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A5 => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) (f x1 x2 x3 x4 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5)) + y5 H3) + y4 H2) + y3 H1) + y2 H0) + y1 H. + +def f__equal__compose : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + g : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a b) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f b)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + g (f a) (f b) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f a b e)) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + g (f a0)) + a b e)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + g : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a b) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f y)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + g (f a) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f a y e0)) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + g (f a0)) + a y e0)) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f a)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + g (f a0)) + a a + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a))) + b e. + +def eq__trans__refl__l : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e) + e) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0) + e0) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e. + +def eq__trans__refl__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y e + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + e) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 y0 e0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0)) + e0) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e. + +def eq__sym__involutive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e)) + e) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)) + e0) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e. + +def eq__trans__sym__inv__l : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e) + e) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 y0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x y0 + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0) + e0) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0)) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e. + +def eq__trans__sym__inv__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y x e + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 x e0 + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e. + +def eq__trans__assoc : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + t : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) -> + e_27__27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z t) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x t)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y t e + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z t e_27_ e_27__27_)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z t + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + e_27__27_)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + t : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) => + e_27__27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z t) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y0 e + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z y0 e_27_ e0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z y0 + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + e0)) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z))) + t e_27__27_. + +def let__e : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hf a. + +def let__a0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f a. + +def let__e0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hf a. + +def let__a1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f a. + +def eq__id__comm__l : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (Hf a)) + (Hf (f a))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a))) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + ((e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f y)) + e (f a) (Hf a)) + (Hf (f a))) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a))) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (Hf a)) + (Hf (f a))) + cupicef.I + (eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a))) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a) (Hf a)) + (Hf a)) + (e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f y)) + e (f a) (Hf a)) + (Hf (f a))) + (match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y (f y))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y0) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y e0) + (Hf a)) + y e0) + (Hf y)) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + e0) + e0) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + (f a) (let__e0 A f Hf a)) + (f a) (let__e A f Hf a)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a)) + (eq__trans__sym__inv__l A a (f a) (Hf a))). + +def let__Hfsymf : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a0 (f a0)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a0) a0 (Hf a0). + +def let__e1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + (let__Hfsymf A f Hf a (f (f a)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__id__comm__l A f (let__Hfsymf A f Hf a) (f a). + +def let__e2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + let__Hfsymf A f Hf a (f (f a)). + +def let__e3 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + (let__Hfsymf A f Hf a (f a))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__id__comm__l A f (let__Hfsymf A f Hf a) a. + +def let__e4 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + let__Hfsymf A f Hf a (f a). + +def let__e5 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hf a. + +def eq__id__comm__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) a (Hf a)) + (Hf (f a))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + Hf : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + ((e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a))) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + e a (Hf a)) + (Hf (f a))) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)))) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) a (Hf a)) + (Hf (f a))) + cupicef.I + (eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a)))) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)) (Hf (f (f a)))) + (Hf (f (f a)))) + (e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a))) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + e a (Hf a)) + (Hf (f a))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + (y : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a)))) => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) y (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + (y : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a))) => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) y) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a (Hf a)))) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a))) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f y))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (y0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f y) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f y (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y e1))) + (Hf (f (f a)))) + y e1) + (Hf (f y))) + (cupicef.cast cupicef.prop cupicef.prop + ((e1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a))) => + eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + e1 (Hf (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a)))) + (Hf (f (f a))))) + (eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f (f a)) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a))))) + (Hf (f (f a)))) + (Hf (f (f a)))) + cupicef.I + (eq__ind__r + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (Hf (f (f a))) + (e1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a))) => + eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + e1 (Hf (f (f a)))) + (eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (Hf (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a)))) + (Hf (f (f a)))) + (eq__trans__refl__l A (f (f (f a))) (f (f a)) + (Hf (f (f a)))))) + a (let__e5 A f Hf a))) + (let__Hfsymf A f Hf a (f a)) (let__e3 A f Hf a)) + (let__Hfsymf A f Hf a (f (f a))) (let__e1 A f Hf a))) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a))) + (eq__trans__sym__inv__l A (f (f (f a))) (f (f a)) (Hf (f (f a))))). + +thm eq__refl__map__distr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x)). + +def eq__trans__map__distr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f z))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f z) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y z e_27_))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y0))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y0 + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y0 e e0)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f y0) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y y0 e0))) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y y + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)))) + z e_27_. + +def eq__sym__map__distr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f x))) + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e)) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y0) (f x))) + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y0) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y0 e0)) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0))) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + y e. + +def eq__trans__sym__distr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z x)) + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z e_27_) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + (e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z x)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 z e0 e_27_)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z e_27_) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)))) + (e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + z e_27_) + y e. + +thm eq__trans__rew__distr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) -> + k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P z)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y e) + z e_27_)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + (e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P x) + (k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P z)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 z e0 e_27_)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y0 e0) + z e_27_)))) + (e_27_ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P x) + (k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y0)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y0 + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y0 e0))) + (k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + z e_27_) + y e. + +thm rew__const : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P) k + y e) + k) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I P + (k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P) + k y0 e0) + k)) + (k : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + k) + y e. + +def subrelation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + R_27_ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I B + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R_27_ x y))). + +def unique : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))). + +def uniqueness : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P y) + (__0 : cupicef.Term cupicef.prop (P y) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))). + +thm unique__existence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (uniqueness A P)) + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (uniqueness A P)) + (__ : + cupicef.Term cupicef.prop + (and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) + (uniqueness A P)) => + ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + (__ : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))) => + and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (uniqueness A P))) + (H : + cupicef.Term cupicef.prop + (and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) + (uniqueness A P)) => + match____and cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (uniqueness A P) + (__ : + cupicef.Term cupicef.prop + (and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) + (uniqueness A P)) => + ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + (H0 : + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) => + match____ex cupicef.prop A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x) + (__ : + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (uniqueness A P) + (__0 : cupicef.Term cupicef.prop (uniqueness A P) => + ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx : cupicef.Term cupicef.prop (P x) => + Huni : cupicef.Term cupicef.prop (uniqueness A P) => + ex__intro A + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + x + (cupicef.cast cupicef.prop cupicef.prop + (and (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) + x) + cupicef.I + (conj (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + Hx + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (P x_27_) => + Huni x x_27_ Hx H1)))) + H0) + H) + (H : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))) => + match____ex cupicef.prop A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (__ : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))) => + and + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (uniqueness A P)) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) + x) => + match____and cupicef.prop + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) + x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) x_27_) + (__ : + cupicef.Term cupicef.prop + ((x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) x_27_) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (__ : + cupicef.Term cupicef.prop + (and (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) => + and + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + (uniqueness A P)) + (Hx : cupicef.Term cupicef.prop (P x) => + Huni : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) => + conj + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + (uniqueness A P) + (ex__intro A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) + x Hx) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x_27__27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P x_27_) + (Hx_27_ : cupicef.Term cupicef.prop (P x_27_) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x_27__27_) + (Hx_27__27_ : + cupicef.Term cupicef.prop (P x_27__27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x_27_ x_27__27_))))) + (uniqueness A P) cupicef.I + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27__27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hx_27_ : cupicef.Term cupicef.prop (P x_27_) => + Hx_27__27_ : cupicef.Term cupicef.prop (P x_27__27_) => + eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x_27_ x x_27__27_ + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_ (Huni x_27_ Hx_27_)) + (Huni x_27__27_ Hx_27__27_)))) + H0) + H). + +def let__H : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H0 : + cupicef.Term cupicef.prop + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) x) -> + Hp : cupicef.Term cupicef.prop (P x) -> + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H1 : + cupicef.Term cupicef.prop + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H2 : cupicef.Term cupicef.prop (and (P x0) (Q x0)) -> + HPx0 : cupicef.Term cupicef.prop (P x0) -> + HQx0 : cupicef.Term cupicef.prop (Q x0) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + HPx1 : cupicef.Term cupicef.prop (P x1) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 x1) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) + x) => + Hp : cupicef.Term cupicef.prop (P x) => + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H1 : + cupicef.Term cupicef.prop + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (and (P x0) (Q x0)) => + HPx0 : cupicef.Term cupicef.prop (P x0) => + HQx0 : cupicef.Term cupicef.prop (Q x0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + HPx1 : cupicef.Term cupicef.prop (P x1) => + eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 x x1 + (eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0 (Huniq x0 HPx0)) + (Huniq x1 HPx1). + +thm forall__exists__unique__domain__coincide : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) -> + Q : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__0 : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) => + match____ex cupicef.prop A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (__ : + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Q : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x) (__0 : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) + x) => + match____and cupicef.prop + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) x_27_) + (__ : + cupicef.Term cupicef.prop + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0) x_27_) => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (__ : + cupicef.Term cupicef.prop + (and (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (Q : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x0) (__0 : cupicef.Term cupicef.prop (P x0) => Q x0))) + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))))) + (Hp : cupicef.Term cupicef.prop (P x) => + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x_27_) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + conj + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x0) (__ : cupicef.Term cupicef.prop (P x0) => Q x0))) + (__ : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (Q x0)) => + ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x0) (__0 : cupicef.Term cupicef.prop (P x0) => Q x0)))) + (H1 : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (Q x0)) => + ex__intro A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0)) + x (conj (P x) (Q x) Hp (H1 x Hp))) + (H1 : + cupicef.Term cupicef.prop + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) => + match____ex cupicef.prop A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0)) + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (Q x0))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x0) (__0 : cupicef.Term cupicef.prop (P x0) => Q x0))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (and (P x0) (Q x0)) => + match____and cupicef.prop (P x0) (Q x0) + (__ : cupicef.Term cupicef.prop (and (P x0) (Q x0)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x1) + (__0 : cupicef.Term cupicef.prop (P x1) => Q x1))) + (HPx0 : cupicef.Term cupicef.prop (P x0) => + HQx0 : cupicef.Term cupicef.prop (Q x0) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + HPx1 : cupicef.Term cupicef.prop (P x1) => + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P y) (HPx2 : cupicef.Term cupicef.prop (P y) => Q y)) + (HPx2 : cupicef.Term cupicef.prop (P x0) => HQx0) x1 + (let__H A P H x H0 Hp Huniq Q H1 x0 H2 HPx0 HQx0 x1 HPx1) + HPx1) + H2) + H1)) + H0) + H. + +def let__i : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => P x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x) (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) => + H P. + +def let__i0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + H : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) -> + H0 : + (__ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) -> + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H1 : cupicef.Term cupicef.prop (and (P x) (P x)) -> + Hx : cupicef.Term cupicef.prop (P x) -> + __tmp : cupicef.Term cupicef.prop (P x) -> + __tmp0 : + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (P x0))) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (P x0)) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x0) + (__ : cupicef.Term cupicef.prop (P x0) => + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + ((x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x) (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) => + H0 : + (__ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) -> + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (and (P x) (P x)) => + Hx : cupicef.Term cupicef.prop (P x) => + __tmp : cupicef.Term cupicef.prop (P x) => + __tmp0 : + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (P x0))) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (P x0)) => + H + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_). + +thm forall__exists__coincide__unique__domain : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) -> + cupicef.Term cupicef.prop + (ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x) (__ : cupicef.Term cupicef.prop (P x) => Q x))) + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (Q x))))) => + match____and cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__ : cupicef.Term cupicef.prop (P x) => P x))) + (__ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) => + ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) + (__ : + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (P x) + (__0 : cupicef.Term cupicef.prop (P x) => P x)))) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x) (__ : cupicef.Term cupicef.prop (P x) => P x))) + (__ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) => + ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) + (__ : + cupicef.Term cupicef.prop + (ex A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + and (P x) (P x))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x) (__0 : cupicef.Term cupicef.prop (P x) => P x))))) => + ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + (H0 : + (__ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) -> + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)))) => + match____ex cupicef.prop A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x)) + (__ : + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) + (__0 : + cupicef.Term cupicef.prop + (ex A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + P x) (__1 : cupicef.Term cupicef.prop (P x) => P x)))) + (__0 : + (__0 : + cupicef.Term cupicef.prop + (ex A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x) (P x))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __1 : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x)) => + ex A + (unique A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (and (P x) (P x)) => + match____and cupicef.prop (P x) (P x) + (__ : cupicef.Term cupicef.prop (and (P x) (P x)) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (P x0))) + (__0 : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + and (P x0) (P x0))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x0) + (__1 : cupicef.Term cupicef.prop (P x0) => P x0)))) + (__0 : + (__0 : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + and (P x0) (P x0))) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __1 : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (P x0)) => + ex A + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)))) + (Hx : cupicef.Term cupicef.prop (P x) => + __tmp : cupicef.Term cupicef.prop (P x) => + __tmp0 : + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) (P x0))) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop (P x0)) => + ex__intro A + (unique A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x0)) + x + (conj (P x) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__ : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + Hx + (match____and cupicef.prop + (cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x0) + (__ : cupicef.Term cupicef.prop (P x0) => + (x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (__ : + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop + ((x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)) => + ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + ((x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + ((x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + ((x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x0) + (__0 : cupicef.Term cupicef.prop (P x0) => + (x_27_ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.rule + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x0) + (__ : cupicef.Term cupicef.prop (P x0) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + (__ : + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)) => + ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)))) + (cupicef.prod cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term + (cupicef.type + (cupicef.s cupicef.z)) + A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) => + cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (P x0) + (__0 : cupicef.Term cupicef.prop (P x0) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (__0 : cupicef.Term cupicef.prop (P x_27_) => + eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (__tmp1 : + (__ : + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)) -> + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)))) => + Huniq : + (__ : + cupicef.Term cupicef.prop + (ex A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) -> + x0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)) => + Huniq + (ex__intro A + (x0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)) + x + (conj (P x) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + Hx + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + (let__i0 A P H H0 x H1 Hx __tmp __tmp0)))) + H1) + (H0 + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (P x) => + H1))) + (let__i A P H). + +def inhabited : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop. + +def inhabits : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (inhabited A). + +[ ] cupicef.code_guarded? _ (inhabits _ _) --> cupicef.guarded. + +def match____inhabited : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : (cupicef.Term cupicef.prop (inhabited A) -> cupicef.Univ s) -> + case__inhabits : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term s (P (inhabits A __))) -> + x : cupicef.Term cupicef.prop (inhabited A) -> + cupicef.Term s (P x). + +[ s, A, P, case__inhabits, __] + match____inhabited s A P case__inhabits (inhabits A __) + --> + case__inhabits __. + +[ s, A, P, s'] + match____inhabited s A + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____inhabited s' A (x => P x). + +def inhabited__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : cupicef.Univ cupicef.prop -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop P) -> + i : cupicef.Term cupicef.prop (inhabited A) -> + cupicef.Term cupicef.prop P + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : cupicef.Univ cupicef.prop => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop P) => + i : cupicef.Term cupicef.prop (inhabited A) => + match____inhabited cupicef.prop A + (__ : cupicef.Term cupicef.prop (inhabited A) => P) f i. + +thm exists__inhabited : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (ex A (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) -> + cupicef.Term cupicef.prop (inhabited A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (ex A (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) => + match____ex cupicef.prop A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x) + (__ : + cupicef.Term cupicef.prop + (ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) => + inhabited A) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (P x) => + inhabits A x) + H. + +thm inhabited__covariant : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + __0 : cupicef.Term cupicef.prop (inhabited A) -> + cupicef.Term cupicef.prop (inhabited B) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + H : cupicef.Term cupicef.prop (inhabited A) => + match____inhabited cupicef.prop A + (__ : cupicef.Term cupicef.prop (inhabited A) => inhabited B) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + inhabits B (f x)) + H. + +thm eq__stepl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + __0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + H2 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) => + eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z0 y) + H1 z H2. + +thm iff__stepl : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (iff A B) -> + __0 : cupicef.Term cupicef.prop (iff A C) -> + cupicef.Term cupicef.prop (iff C B) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + H : cupicef.Term cupicef.prop (iff A B) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (iff A C) + (__0 : cupicef.Term cupicef.prop (iff A C) => iff C B)) + (H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : cupicef.Term cupicef.prop (iff A C) => + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => A)) + (__ : + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => A))) => + iff C B) + (H3 : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop C) => + H4 : + (__ : cupicef.Term cupicef.prop C -> cupicef.Term cupicef.prop A) => + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I C + (__ : cupicef.Term cupicef.prop C => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => C)) + (H5 : cupicef.Term cupicef.prop C => H0 (H1 (H0 (H4 H5)))) + (H5 : cupicef.Term cupicef.prop B => H3 (H1 H5))) + H2) + H. + +thm eq__ex__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + pq : + cupicef.Term cupicef.prop + (ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + pq : + cupicef.Term cupicef.prop + (ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) => + match____ex cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (__ : + cupicef.Term cupicef.prop + (ex + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (y : cupicef.Term cupicef.prop (P v1) => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 y)) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P v1 + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P v1 + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P y + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e))) + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + v1 p)) + v2 q) + pq. + +def eq__ex : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) -> + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + eq__ex__uncurried A P u1 v1 u2 v2 + (ex__intro + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p0) + v2) + p q). + +def eq__ex__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq__ex A P u1 v1 u2 v2 p + (P__hprop v1 + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2). + +thm rew__ex : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term cupicef.prop + (ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p))) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p))) + u y H) + (match____ex cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (u0 : + cupicef.Term cupicef.prop + (ex (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + ex (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + ex__intro (P y) (Q y) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y H)) + u)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term cupicef.prop + (ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p))) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p))) + u y0 e) + (match____ex cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (u0 : + cupicef.Term cupicef.prop + (ex (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + ex (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + ex__intro (P y0) (Q y0) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y0 e)) + u)) + (match____ex cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => Q x p) + (e : + cupicef.Term cupicef.prop + (ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex (P a) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P a) => + Q a p))) + e x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (match____ex cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (u0 : + cupicef.Term cupicef.prop + (ex (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) => + ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + ex__intro (P x) (Q x) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + u2) + e)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (ex__intro (P x) (Q x) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P x0 x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + q)) + u) + y H. + +thm eq__ex2__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + u3 : cupicef.Term cupicef.prop (Q u1) -> + v3 : cupicef.Term cupicef.prop (Q v1) -> + pq : + cupicef.Term cupicef.prop + (ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q v1 v2 v3)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + u3 : cupicef.Term cupicef.prop (Q u1) => + v3 : cupicef.Term cupicef.prop (Q v1) => + pq : + cupicef.Term cupicef.prop + (ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) => + match____ex2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + (__ : + cupicef.Term cupicef.prop + (ex2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q v1 v2 v3)) + (p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + r : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) => + match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + (y : cupicef.Term cupicef.prop (Q v1) => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q v1 v2 y)) + (match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (y : cupicef.Term cupicef.prop (P v1) => + __ : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 y + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q y + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 y e))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q u1 u2 u3)) + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q u1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + cupicef.I + (eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3))) + v1 p) + v2 q) + v3 r) + pq. + +def eq__ex2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + u3 : cupicef.Term cupicef.prop (Q u1) -> + v3 : cupicef.Term cupicef.prop (Q v1) -> + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) -> + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) -> + r : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q v1 v2 v3)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + u3 : cupicef.Term cupicef.prop (Q u1) => + v3 : cupicef.Term cupicef.prop (Q v1) => + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + r : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) => + eq__ex2__uncurried A P Q u1 v1 u2 v2 u3 v3 + (ex__intro2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p0) + v2) + (p0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p0) + v3) + p q r). + +def eq__ex2__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + u3 : cupicef.Term cupicef.prop (Q u1) -> + v3 : cupicef.Term cupicef.prop (Q v1) -> + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) (ex__intro2 A P Q v1 v2 v3)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + u3 : cupicef.Term cupicef.prop (Q u1) => + v3 : cupicef.Term cupicef.prop (Q v1) => + p : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + eq__ex2 A P Q u1 v1 u2 v2 u3 v3 p + (P__hprop v1 + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (Q__hprop v1 + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3). + +thm rew__ex2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + R y p))) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex2 (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p))) + u y H) + (match____ex2 cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + (u0 : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + ex2 (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + R y p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + u3 : cupicef.Term cupicef.prop (R x u1) => + ex__intro2 (P y) (Q y) (R y) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u3 y H)) + u)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + R y0 p))) + (eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex2 (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p))) + u y0 e) + (match____ex2 cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + (u0 : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + ex2 (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + R y0 p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + u3 : cupicef.Term cupicef.prop (R x u1) => + ex__intro2 (P y0) (Q y0) (R y0) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u3 y0 e)) + u)) + (match____ex2 cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => R x p) + (e : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + ex2 (P a) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P a) => + Q a p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P a) => + R a p))) + e x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (match____ex2 cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + (u0 : + cupicef.Term cupicef.prop + (ex2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) => + ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + u2 : cupicef.Term cupicef.prop (Q x u1) => + u3 : cupicef.Term cupicef.prop (R x u1) => + ex__intro2 (P x) (Q x) (R x) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + u2 u3) + e)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + r : cupicef.Term cupicef.prop (R x x0) => + eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (ex__intro2 (P x) (Q x) (R x) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P x0 x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + q r)) + u) + y H. + +(; End of translation. ;) diff --git a/out/Coq__Init__Logic__Type.dk b/out/Coq__Init__Logic__Type.dk new file mode 100644 index 000000000..0df0e4c20 --- /dev/null +++ b/out/Coq__Init__Logic__Type.dk @@ -0,0 +1,398 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def notT : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.False). + +def identity__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A x + y) -> + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + x y) => + Coq__Init__Datatypes.match____identity cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A x y0) => + Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y0 + x) + (Coq__Init__Datatypes.identity__refl A x) y H. + +def identity__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A x + y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y + z) -> + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + y z) => + Coq__Init__Datatypes.match____identity cupicef.prop A y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A y y0) => + Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A x + y0) + H z H0. + +def identity__congr : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A x + y) -> + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) B + (f x) (f y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + x y) => + Coq__Init__Datatypes.match____identity cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A x y0) => + Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) B + (f x) (f y0)) + (Coq__Init__Datatypes.identity__refl B (f x)) y H. + +thm not__identity__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) -> + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A y x))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) + (H : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y x) + (H_27_ : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y x) => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) + (__ : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) => + notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y x)))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A x y))) => + H_27_ : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A y x) => + H + (Coq__Init__Datatypes.match____identity cupicef.prop A y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y0 y))) + (H0 : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y0 y))) => + Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y0 y)) + (H0 : + cupicef.Term cupicef.prop + (notT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Datatypes.identity + (cupicef.type (cupicef.s cupicef.z)) A y y))) => + Coq__Init__Datatypes.identity__refl A y) + x H_27_ H)). + +def identity__ind__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P a) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y + a) -> + cupicef.Term cupicef.prop (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + y x) => + Coq__Init__Datatypes.match____identity cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A x y0) => + P y0) + H y (identity__sym A y x H0). + +def identity__rec__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : cupicef.Term cupicef.set (P a) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y + a) -> + cupicef.Term cupicef.set (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + H : cupicef.Term cupicef.set (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + y x) => + Coq__Init__Datatypes.match____identity cupicef.set A x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A x y0) => + P y0) + H y (identity__sym A y x H0). + +def identity__rect__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A y + a) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + H : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) A + y x) => + Coq__Init__Datatypes.match____identity + (cupicef.type (cupicef.s cupicef.z)) A x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + i : + cupicef.Term cupicef.prop + (Coq__Init__Datatypes.identity (cupicef.type (cupicef.s cupicef.z)) + A x y0) => + P y0) + H y (identity__sym A y x H0). + +(; End of translation. ;) diff --git a/out/Coq__Init__Nat.dk b/out/Coq__Init__Nat.dk new file mode 100644 index 000000000..0ad139f6c --- /dev/null +++ b/out/Coq__Init__Nat.dk @@ -0,0 +1,1457 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def t : + cupicef.Univ cupicef.set + +:= Coq__Init__Datatypes.nat. + +def zero : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= Coq__Init__Datatypes.O. + +def one : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= Coq__Init__Datatypes.S Coq__Init__Datatypes.O. + +def two : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= Coq__Init__Datatypes.S (Coq__Init__Datatypes.S Coq__Init__Datatypes.O). + +def succ : + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= Coq__Init__Datatypes.S. + +def pred : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + n (u : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => u) n. + +def add : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (add0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + m + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.S (add0 p m)) + n)) + cupicef.0. + +def double : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => add n n. + +def mul : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (mul0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + add m (mul0 p m)) + n)) + cupicef.0. + +def sub : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (sub0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + n + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + n + (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + sub0 k l) + m) + n)) + cupicef.0. + +def eqb : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool))))) + (c => + c + (eqb0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + (Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.false) + m) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (m_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + eqb0 n_27_ m_27_) + m) + n)) + cupicef.0. + +def leb : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool))))) + (c => + c + (leb0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (m_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + leb0 n_27_ m_27_) + m) + n)) + cupicef.0. + +def ltb : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + leb (Coq__Init__Datatypes.S n) m. + +def compare : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.comparison))))) + (c => + c + (compare0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.comparison) + (Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.comparison) + Coq__Init__Datatypes.Eq + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.Lt) + m) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.comparison) + Coq__Init__Datatypes.Gt + (m_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + compare0 n_27_ m_27_) + m) + n)) + cupicef.0. + +def max : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (max0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + m + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + n + (m_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.S (max0 n_27_ m_27_)) + m) + n)) + cupicef.0. + +def min : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (min0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (m_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.S (min0 n_27_ m_27_)) + m) + n)) + cupicef.0. + +def even : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool)))) + (c => + c + (even0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + even0 n_27_) + n0) + n)) + cupicef.0. + +def odd : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.negb (even n). + +def pow : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (pow0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + mul n (pow0 n m0)) + m)) + cupicef.0. + +def tail__add : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (tail__add0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + m + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + tail__add0 n0 (Coq__Init__Datatypes.S m)) + n)) + cupicef.0. + +def tail__addmul : + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.set + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))))) + (c => + c + (tail__addmul0 => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + r + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + tail__addmul0 (tail__add m r) n0 m) + n)) + cupicef.0. + +def tail__mul : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + tail__addmul Coq__Init__Datatypes.O n m. + +def of__uint__acc : + d : cupicef.Term cupicef.set Coq__Init__Decimal.uint -> + acc : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Decimal.uint + (d : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (acc : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (of__uint__acc0 => + d : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + acc : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Decimal.match____uint cupicef.set + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + Coq__Init__Datatypes.nat) + acc + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc)) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc)))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc)))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc))))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc)))))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc))))))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + ( + Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc)))))))))) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc0 d0 + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (tail__mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + ( + Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S + Coq__Init__Datatypes.O)))))))))) + acc))))))))))) + d)) + cupicef.0. + +def of__uint : + d : cupicef.Term cupicef.set Coq__Init__Decimal.uint -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= d : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + of__uint__acc d Coq__Init__Datatypes.O. + +def to__little__uint : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + acc : cupicef.Term cupicef.set Coq__Init__Decimal.uint -> + cupicef.Term cupicef.set Coq__Init__Decimal.uint + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Decimal.uint + (acc : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + Coq__Init__Decimal.uint))))) + (c => + c + (to__little__uint0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + acc : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Decimal.uint) + acc + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + to__little__uint0 n0 (Coq__Init__Decimal.Little__succ acc)) + n)) + cupicef.0. + +def to__uint : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Decimal.uint + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Decimal.rev + (to__little__uint n (Coq__Init__Decimal.D0 Coq__Init__Decimal.Nil)). + +def of__int : + d : cupicef.Term cupicef.set Coq__Init__Decimal.int -> + cupicef.Term cupicef.set + (Coq__Init__Datatypes.option cupicef.set Coq__Init__Datatypes.nat) + +:= d : cupicef.Term cupicef.set Coq__Init__Decimal.int => + Coq__Init__Decimal.match____int cupicef.set + (x : cupicef.Term cupicef.set Coq__Init__Decimal.int => + Coq__Init__Datatypes.option cupicef.set Coq__Init__Datatypes.nat) + (u : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + Coq__Init__Datatypes.Some + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (of__uint u)) + (d0 : cupicef.Term cupicef.set Coq__Init__Decimal.uint => + Coq__Init__Datatypes.None + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat)) + (Coq__Init__Decimal.norm d). + +def to__int : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Decimal.int + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Decimal.Pos (to__uint n). + +def divmod : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + u : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + (Coq__Init__Datatypes.prod cupicef.set cupicef.set + Coq__Init__Datatypes.nat Coq__Init__Datatypes.nat) + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)))) + cupicef.I Coq__Init__Datatypes.nat + (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (u : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.prod cupicef.set cupicef.set + Coq__Init__Datatypes.nat Coq__Init__Datatypes.nat))))))) + (c => + c + (divmod0 => + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + u : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (x0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.prod cupicef.set cupicef.set + Coq__Init__Datatypes.nat Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.pair + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + q u) + (x_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (u0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.prod cupicef.set cupicef.set + Coq__Init__Datatypes.nat Coq__Init__Datatypes.nat) + (divmod0 x_27_ y (Coq__Init__Datatypes.S q) y) + (u_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + divmod0 x_27_ y q u_27_) + u) + x)) + cupicef.0. + +def div : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (y0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + y + (y_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.fst + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (divmod x y_27_ Coq__Init__Datatypes.O y_27_)) + y. + +def modulo : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (y0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + y + (y_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + sub y_27_ + (Coq__Init__Datatypes.snd + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (divmod x y_27_ Coq__Init__Datatypes.O y_27_))) + y. + +def gcd : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))) + (c => + c + (gcd0 => + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (a0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + b + (a_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + gcd0 (modulo b (Coq__Init__Datatypes.S a_27_)) + (Coq__Init__Datatypes.S a_27_)) + a)) + cupicef.0. + +def square : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => mul n n. + +def sqrt__iter : + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)))) + cupicef.I Coq__Init__Datatypes.nat + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))))) + (c => + c + (sqrt__iter0 => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (k0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + p + (k_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (r0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + (sqrt__iter0 k_27_ (Coq__Init__Datatypes.S p) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S q)) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S q))) + (r_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + sqrt__iter0 k_27_ p q r_27_) + r) + k)) + cupicef.0. + +def sqrt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + sqrt__iter n Coq__Init__Datatypes.O Coq__Init__Datatypes.O + Coq__Init__Datatypes.O. + +def log2__iter : + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)))) + cupicef.I Coq__Init__Datatypes.nat + (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))))) + (c => + c + (log2__iter0 => + k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (k0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + p + (k_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (r0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + (log2__iter0 k_27_ (Coq__Init__Datatypes.S p) + (Coq__Init__Datatypes.S q) q) + (r_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + log2__iter0 k_27_ p (Coq__Init__Datatypes.S q) r_27_) + r) + k)) + cupicef.0. + +def log2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + log2__iter (pred n) Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) Coq__Init__Datatypes.O. + +def iter : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) n. + +def div2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)))) + (c => + c + (div3 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.S (div3 n_27_)) + n0) + n)) + cupicef.0. + +def testbit : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.set + (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool))))) + (c => + c + (testbit0 => + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.bool) + (odd a) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + testbit0 (div2 a) n0) + n)) + cupicef.0. + +def shiftl : + a : + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) Coq__Init__Datatypes.O) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) n) + +:= a : + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) Coq__Init__Datatypes.O) => + Coq__Init__Datatypes.nat__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Coq__Init__Datatypes.nat + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)) + a (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => double). + +def shiftr : + a : + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) Coq__Init__Datatypes.O) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) n) + +:= a : + cupicef.Term cupicef.set + ((__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) Coq__Init__Datatypes.O) => + Coq__Init__Datatypes.nat__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Coq__Init__Datatypes.nat + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat)) + a (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => div2). + +def bitwise : + op : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.set + (cupicef.prod + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + (cupicef.rule + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)))) + cupicef.I + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.bool + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.bool + (__0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.bool))) + (op : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set cupicef.set) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set cupicef.set)) + cupicef.I Coq__Init__Datatypes.nat + (a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat))))))) + (c => + c + (bitwise0 => + op : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + add + (Coq__Init__Datatypes.match____bool cupicef.set + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O (op (odd a) (odd b))) + (mul + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (bitwise0 op n_27_ (div2 a) (div2 b)))) + n)) + cupicef.0. + +def land : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + bitwise Coq__Init__Datatypes.andb a a b. + +def lor : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + bitwise Coq__Init__Datatypes.orb (max a b) a b. + +def ldiff : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + bitwise + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + b_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + Coq__Init__Datatypes.andb b0 (Coq__Init__Datatypes.negb b_27_)) + a a b. + +def lxor : + a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= a : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + b : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + bitwise Coq__Init__Datatypes.xorb (max a b) a b. + +(; End of translation. ;) diff --git a/out/Coq__Init__Notations.dk b/out/Coq__Init__Notations.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Init__Notations.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Init__Peano.dk b/out/Coq__Init__Peano.dk new file mode 100644 index 000000000..aea633de0 --- /dev/null +++ b/out/Coq__Init__Peano.dk @@ -0,0 +1,5988 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def eq__S : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S x) (Coq__Init__Datatypes.S y)) + +:= Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S. + +def f__equal__nat : + B : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + f : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) B) -> + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.eq B (f x) (f y)) + +:= Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat). + +def f__equal__pred : + x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.pred x) (Coq__Init__Nat.pred y)) + +:= Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred. + +thm pred__Sn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n))) + +:= cupicef.cast (cupicef.rule cupicef.set cupicef.prop) + (cupicef.rule cupicef.set cupicef.prop) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n)) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n)))) + cupicef.I + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n). + +def eq__add__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m) H. + +thm not__eq__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m))) + +:= cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) + (Coq__Init__Datatypes.S m)) => + Coq__Init__Logic.False))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)))))) + cupicef.I + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n m)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) => + H (eq__add__S n m H0)). + +def IsSucc : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + n. + +def let__H0 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n)) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.False) + e) + Coq__Init__Logic.I (Coq__Init__Datatypes.S n) H. + +thm O__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n)) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n)) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False (let__H0 n H)). + +thm n__Sn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Datatypes.S n))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S n0))) + (O__S Coq__Init__Datatypes.O) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Datatypes.S n0))) => + not__eq__S n0 (Coq__Init__Datatypes.S n0) IHn) + n. + +def f__equal2__plus : + x1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x2 y2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add x1 x2) (Coq__Init__Nat.add y1 y2)) + +:= Coq__Init__Logic.f__equal2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.add. + +def f__equal2__nat : + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x2 y2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f y1 y2)) + +:= Coq__Init__Logic.f__equal2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat). + +thm plus__n__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n (Coq__Init__Nat.add n Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Nat.add n0 Coq__Init__Datatypes.O)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Nat.add Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 (Coq__Init__Nat.add n0 Coq__Init__Datatypes.O)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add n0 Coq__Init__Datatypes.O))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O)) + cupicef.I + (f__equal__nat + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S n0 + (Coq__Init__Nat.add n0 Coq__Init__Datatypes.O) IHn)) + n. + +thm plus__O__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add Coq__Init__Datatypes.O n) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n. + +thm plus__n__Sm : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n m)) + (Coq__Init__Nat.add n (Coq__Init__Datatypes.S m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m) (Coq__Init__Datatypes.S m)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add Coq__Init__Datatypes.O m)) + (Coq__Init__Nat.add Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m))) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m)))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m)) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m))) + cupicef.I + (f__equal__nat + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n0 m)) + (Coq__Init__Nat.add n0 (Coq__Init__Datatypes.S m)) IHn)) + n. + +thm plus__Sn__m : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n) m) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add n m)). + +def f__equal2__mult : + x1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + y2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x1 y1) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + x2 y2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.mul x1 x2) (Coq__Init__Nat.mul y1 y2)) + +:= Coq__Init__Logic.f__equal2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.mul. + +thm mult__n__O : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Nat.mul n Coq__Init__Datatypes.O)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Nat.mul n0 Coq__Init__Datatypes.O)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Nat.mul Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Nat.mul n0 Coq__Init__Datatypes.O)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Nat.mul n0 Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O)) + cupicef.I IHn) + n. + +def let__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) + (Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m))) -> + cupicef.Term cupicef.set Coq__Init__Datatypes.nat + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) + (Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m))) => + Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m). + +thm mult__n__Sm : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul n m) n) + (Coq__Init__Nat.mul n (Coq__Init__Datatypes.S m))) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul n0 m) n0) + (Coq__Init__Nat.mul n0 (Coq__Init__Datatypes.S m))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul Coq__Init__Datatypes.O m) + Coq__Init__Datatypes.O) + (Coq__Init__Nat.mul Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) + (Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) + (Coq__Init__Datatypes.S p)) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add m + (Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m))))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S p) m) + (Coq__Init__Datatypes.S p)) + (Coq__Init__Nat.mul (Coq__Init__Datatypes.S p) + (Coq__Init__Datatypes.S m))) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) + (Coq__Init__Datatypes.S p)) + (Coq__Init__Datatypes.S (Coq__Init__Nat.add m y))) + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) p)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add m + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p)))) + (eq__S + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) p) + (Coq__Init__Nat.add m + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p)) + (cupicef.cast cupicef.prop cupicef.prop + ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 (Coq__Init__Nat.mul p m)) p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p))) + m) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) p) + (Coq__Init__Nat.add m + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p))) + cupicef.I + (Coq__Init__Datatypes.nat__ind + (n0 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add Coq__Init__Datatypes.O + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add Coq__Init__Datatypes.O + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) + p))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) p))) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p)) + (Coq__Init__Datatypes.S + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p)))))) + (cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S n0) + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add + (Coq__Init__Datatypes.S n0) + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))))) + cupicef.I + (n0 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add + (Coq__Init__Nat.mul p m) p))) => + f__equal__nat + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Nat.add + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.mul p m)) + p) + (Coq__Init__Nat.add n0 + (Coq__Init__Nat.add (Coq__Init__Nat.mul p m) + p)) + H0)) + m))) + (Coq__Init__Nat.add + (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) + (Coq__Init__Datatypes.S p)) + (plus__n__Sm (Coq__Init__Nat.add m (Coq__Init__Nat.mul p m)) p)) + (Coq__Init__Nat.mul p (Coq__Init__Datatypes.S m)) H)) + n. + +def le : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop. + +def le__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (le n n). + +def le__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term cupicef.prop (le n (Coq__Init__Datatypes.S m)). + +[ ] cupicef.code_guarded? _ (le__n _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (le__S _ _ _) --> cupicef.guarded. + +def match____le : + s : cupicef.Sort -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (le n __) -> + cupicef.Univ s) -> + case__le__n : cupicef.Term s (P n (le__n n)) -> + case__le__S : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term s (P (Coq__Init__Datatypes.S m) (le__S n m __))) -> + __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : cupicef.Term cupicef.prop (le n __) -> + cupicef.Term s (P __ x). + +[ s, n, P, case__le__n, case__le__S] + match____le s n P case__le__n case__le__S {n} (le__n n) + --> + case__le__n. + +[ s, n, P, case__le__n, case__le__S, m, __] + match____le s n P case__le__n case__le__S {Coq__Init__Datatypes.S m} + (le__S n m __) + --> + case__le__S m __. + +[ s, n, P, s'] + match____le s n + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____le s' n (__ => x => P __ x). + +def le__ind : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P n) -> + f0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + __0 : cupicef.Term cupicef.prop (P m) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + l : cupicef.Term cupicef.prop (le n n0) -> + cupicef.Term cupicef.prop (P n0) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P n) => + f0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + __0 : cupicef.Term cupicef.prop (P m) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + le n n0) (l : cupicef.Term cupicef.prop (le n n0) => P n0))))) + (c => + c + (F => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l : cupicef.Term cupicef.prop (le n n0) => + match____le cupicef.prop n + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (le n n1) => + P n1) + f + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + l0 : cupicef.Term cupicef.prop (le n m) => + f0 m l0 (F m l0)) + n0 l)) + cupicef.0. + +def lt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le (Coq__Init__Datatypes.S n) m. + +def ge : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le m n. + +def gt : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + lt m n. + +thm le__pred : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term cupicef.prop + (le (Coq__Init__Nat.pred n) (Coq__Init__Nat.pred m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (le n m) => + le__ind n + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le (Coq__Init__Nat.pred n) (Coq__Init__Nat.pred m0)) + (le__n (Coq__Init__Nat.pred n)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le n m0) => + IHle : + cupicef.Term cupicef.prop + (le (Coq__Init__Nat.pred n) (Coq__Init__Nat.pred m0)) => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (le n n0) + (H1 : cupicef.Term cupicef.prop (le n n0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Nat.pred n) (Coq__Init__Nat.pred n0)) + (IHle0 : + cupicef.Term cupicef.prop + (le (Coq__Init__Nat.pred n) (Coq__Init__Nat.pred n0)) => + le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0))))) + (H1 : cupicef.Term cupicef.prop (le n Coq__Init__Datatypes.O) => + IHle0 : + cupicef.Term cupicef.prop + (le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred Coq__Init__Datatypes.O)) => + cupicef.cast cupicef.prop cupicef.prop + (le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred Coq__Init__Datatypes.O)) + (le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + cupicef.I IHle0) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 : cupicef.Term cupicef.prop (le n (Coq__Init__Datatypes.S m1)) => + IHle0 : + cupicef.Term cupicef.prop + (le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S m1))) => + cupicef.cast cupicef.prop cupicef.prop + (le (Coq__Init__Nat.pred n) (Coq__Init__Datatypes.S m1)) + (le (Coq__Init__Nat.pred n) + (Coq__Init__Nat.pred + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)))) + cupicef.I (le__S (Coq__Init__Nat.pred n) m1 IHle0)) + m0 H0 IHle) + m H. + +thm le__S__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) -> + cupicef.Term cupicef.prop (le n m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le__pred (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m). + +thm le__0__n : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (le Coq__Init__Datatypes.O n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le Coq__Init__Datatypes.O n0) + (le__n Coq__Init__Datatypes.O) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : cupicef.Term cupicef.prop (le Coq__Init__Datatypes.O n0) => + le__S Coq__Init__Datatypes.O n0 IHn) + n. + +thm le__n__S : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : cupicef.Term cupicef.prop (le n m) => + le__ind n + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + le (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m0)) + (le__n (Coq__Init__Datatypes.S n)) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le n m0) => + IHle : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m0)) => + le__S (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m0) IHle) + m H. + +thm nat__case : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O) -> + __0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) -> + cupicef.Term cupicef.prop (P n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.set cupicef.prop) cupicef.prop)) + (cupicef.rule + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.set cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I Coq__Init__Datatypes.nat + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.set cupicef.prop) cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.set cupicef.prop) + cupicef.prop)) + cupicef.I (P Coq__Init__Datatypes.O) + (__ : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O) => + cupicef.prod (cupicef.rule cupicef.set cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.set cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + P (Coq__Init__Datatypes.S m))) + (__0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) => + P n0)))) + (P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O) => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) => + H) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O) -> + __0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) -> + cupicef.Term cupicef.prop (P n0)) => + P : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O) => + H0 : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S m))) => + H0 n0) + n. + +thm nat__double__ind : + R : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) -> + __ : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (R Coq__Init__Datatypes.O n)) -> + __0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.S n) Coq__Init__Datatypes.O)) -> + __1 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __1 : cupicef.Term cupicef.prop (R n m) -> + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m))) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (R n m) + +:= R : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Univ cupicef.prop) => + H : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (R Coq__Init__Datatypes.O n)) => + H0 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.S n) Coq__Init__Datatypes.O)) => + H1 : + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (R n m) -> + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.S n) (Coq__Init__Datatypes.S m))) => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => R n0 m)) + H + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop (R n0 m)) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + R (Coq__Init__Datatypes.S n0) n1) + (H0 n0) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H1 n0 m0 (IHn m0)) + m) + n. + +def let__H2 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H3 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H2. + +def let__H1 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + match____le cupicef.prop (Coq__Init__Datatypes.S m1) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) n0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + (let__H2 n m m0 m1 H H0 H1)) + H0) + (m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) m2) + (H3 : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O)) + (let__H3 n m m0 m1 H m2 H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.O H. + +thm max__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n m) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (le m0 n0) + (__ : cupicef.Term cupicef.prop (le m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) n0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le n0 Coq__Init__Datatypes.O) + (__ : cupicef.Term cupicef.prop (le n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O n0) + Coq__Init__Datatypes.O)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + let__H1 n m m0 m1 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) n0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le n1 (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop (le n1 (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) n1) + (Coq__Init__Datatypes.S n0))) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.max n0 m1)) + (Coq__Init__Datatypes.S n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S (Coq__Init__Nat.max n0 m1) n0 + (IHn m1 (le__S__n m1 n0 H)))) + m0) + n m. + +def let__H5 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H6 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H2. + +def let__H4 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + match____le cupicef.prop (Coq__Init__Datatypes.S n0) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) n1) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (let__H5 n m n0 IHn m0 H H0 H1)) + H0) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) m1) + (H3 : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (let__H6 n m n0 IHn m0 H m1 H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.O H. + +thm max__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n m) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (le n0 m0) + (__ : cupicef.Term cupicef.prop (le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O n0) + (__ : cupicef.Term cupicef.prop (le Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O n0) n0)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1))) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max n0 m0) m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) n1) + (__ : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) n1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) n1) n1)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + let__H4 n m n0 IHn m0 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.max n0 m1)) + (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.max (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S (Coq__Init__Nat.max n0 m1) m1 + (IHn m1 (le__S__n n0 m1 H)))) + m0) + n m. + +def let__H8 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H9 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H2. + +def let__H7 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + match____le cupicef.prop (Coq__Init__Datatypes.S n0) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) n1) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n1 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (let__H8 n m n0 IHn m0 H H0 H1)) + H0) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) m1) + (H3 : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) m1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0))) + (let__H9 n m n0 IHn m0 H m1 H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.O H. + +thm min__l : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n m) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n m) n) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (le n0 m0) + (__ : cupicef.Term cupicef.prop (le n0 m0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O n0) + (__ : cupicef.Term cupicef.prop (le Coq__Init__Datatypes.O n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O n0) + Coq__Init__Datatypes.O)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le n0 m0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) n0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) n1) + (__ : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S n0) n1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) n1) + (Coq__Init__Datatypes.S n0))) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + let__H7 n m n0 IHn m0 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.min n0 m1)) + (Coq__Init__Datatypes.S n0))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S (Coq__Init__Nat.min n0 m1) n0 + (IHn m1 (le__S__n n0 m1 H)))) + m0) + n m. + +def let__H11 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H1. + +def let__H12 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) -> + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) + (e : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.True) + e) + Coq__Init__Logic.I Coq__Init__Datatypes.O H2. + +def let__H10 : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + match____le cupicef.prop (Coq__Init__Datatypes.S m1) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) n0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) + (let__H11 n m m0 m1 H H0 H1)) + H0) + (m2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + H0 : cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + (H2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S m2) Coq__Init__Datatypes.O) => + Coq__Init__Logic.False__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) m2) + (H3 : + cupicef.Term cupicef.prop (le (Coq__Init__Datatypes.S m1) m2) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) + (let__H12 n m m0 m1 H m2 H0 H1 H2)) + H1 H0) + Coq__Init__Datatypes.O H. + +thm min__r : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le m n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n m) m) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (le m0 n0) + (__ : cupicef.Term cupicef.prop (le m0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) m0))) + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le n0 Coq__Init__Datatypes.O) + (__ : cupicef.Term cupicef.prop (le n0 Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O n0) n0)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min Coq__Init__Datatypes.O + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) Coq__Init__Datatypes.O) => + let__H10 n m m0 m1 H + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O))) + m0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + __ : cupicef.Term cupicef.prop (le m0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min n0 m0) m0)) => + m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.prop + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le n1 (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop (le n1 (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) n1) n1)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) + Coq__Init__Datatypes.O) + Coq__Init__Datatypes.O)) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S (Coq__Init__Nat.min n0 m1)) + (Coq__Init__Datatypes.S m1))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) + (__ : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) + (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Nat.min (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S m1)) + (Coq__Init__Datatypes.S m1))) + cupicef.I + (H : + cupicef.Term cupicef.prop + (le (Coq__Init__Datatypes.S m1) (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S (Coq__Init__Nat.min n0 m1) m1 + (IHn m1 (le__S__n m1 n0 H)))) + m0) + n m. + +thm nat__rect__succ__r : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n)) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) ( + f x) (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) n0)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f x) (f x)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + Coq__Init__Datatypes.O)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f x))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n0)) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n0)) => + cupicef.cast cupicef.prop cupicef.prop + ((a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f + (f + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0))) + (f a)) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n0)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n0))) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n0)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f + (f + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0))) + (f a)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + (Coq__Init__Datatypes.S n0)))) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (f x) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n0) + IHn)) + n. + +thm nat__rect__plus : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add n m)) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.set + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)))) + cupicef.I Coq__Init__Datatypes.nat + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop))) + cupicef.I + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + A)) + (f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + (Coq__Init__Nat.add n0 m)) + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + A) + x + (n1 : + cupicef.Term cupicef.set + Coq__Init__Datatypes.nat => + f) + m) + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0)))))) + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) m) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) m)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add Coq__Init__Datatypes.O m)) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + m) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + Coq__Init__Datatypes.O)) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) m))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add n0 m)) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n0))) => + m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + ((a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (f + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0))) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add n0 m))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add (Coq__Init__Datatypes.S n0) m)) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Datatypes.S n0))) + cupicef.I + (Coq__Init__Logic.eq__ind__r A + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) + x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + n0) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (f + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + (Coq__Init__Datatypes.nat__rect + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + A) + x + (n1 : + cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + m) + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + f) + n0))) + (Coq__Init__Datatypes.nat__rect + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => A) x + (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => f) + (Coq__Init__Nat.add n0 m)) + (IHn m A f x))) + n. + +(; End of translation. ;) diff --git a/out/Coq__Init__Prelude.dk b/out/Coq__Init__Prelude.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Init__Prelude.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Init__Specif.dk b/out/Coq__Init__Specif.dk new file mode 100644 index 000000000..2fb197a60 --- /dev/null +++ b/out/Coq__Init__Specif.dk @@ -0,0 +1,48062 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def sig : + Coq__Init__Specif__1 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Specif__1 -> + P : (__ : cupicef.Term Coq__Init__Specif__1 A -> cupicef.Univ cupicef.prop) -> + cupicef.Univ Coq__Init__Specif__1. + +sig' : + A : cupicef.Univ cupicef.sinf -> + P : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Specif__1, A, P] + cupicef.code (cupicef.cU _) (sig Coq__Init__Specif__1 A P) + --> + sig' (cupicef.code (cupicef.cU Coq__Init__Specif__1) A) P. + +def Coq__Init__Specif__1 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def exist : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__1) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__1) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type Coq__Init__Specif__1) A -> + __ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term (cupicef.type Coq__Init__Specif__1) + (sig (cupicef.type Coq__Init__Specif__1) A P). + +[ ] cupicef.code_guarded? _ (exist _ _ _ _) --> cupicef.guarded. + +def match____sig : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Specif__1) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__1) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (cupicef.Term (cupicef.type Coq__Init__Specif__1) + (sig (cupicef.type Coq__Init__Specif__1) A P) -> + cupicef.Univ s) -> + case__exist : + (x0 : cupicef.Term (cupicef.type Coq__Init__Specif__1) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + cupicef.Term s (P0 (exist A P x0 __))) -> + x : + cupicef.Term (cupicef.type Coq__Init__Specif__1) + (sig (cupicef.type Coq__Init__Specif__1) A P) -> + cupicef.Term s (P0 x). + +[ s, A, P, P0, case__exist, x0, __] + match____sig s A P P0 case__exist (exist A P x0 __) + --> + case__exist x0 __. + +[ s, A, P, P0, s'] + match____sig s A P + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____sig s' A P (x => P0 x). + +def sig__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 (exist A P x p))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 (exist A P x p))) => + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sig (cupicef.type (cupicef.s cupicef.z)) A P + (s0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + P0 s0) + f s. + +def sig__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P0 (exist A P x p))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term cupicef.prop (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P0 (exist A P x p))) => + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sig cupicef.prop A P + (s0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + P0 s0) + f s. + +def sig__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.set) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.set (P0 (exist A P x p))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term cupicef.set (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.set) => + sig__rect A P + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P0). + +def sig2 : + Coq__Init__Specif__4 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Specif__4 -> + P : (__ : cupicef.Term Coq__Init__Specif__4 A -> cupicef.Univ cupicef.prop) -> + Q : (__ : cupicef.Term Coq__Init__Specif__4 A -> cupicef.Univ cupicef.prop) -> + cupicef.Univ Coq__Init__Specif__4. + +sig2' : + A : cupicef.Univ cupicef.sinf -> + P : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.prop) -> + Q : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Specif__4, A, P, Q] + cupicef.code (cupicef.cU _) (sig2 Coq__Init__Specif__4 A P Q) + --> + sig2' (cupicef.code (cupicef.cU Coq__Init__Specif__4) A) P Q. + +def Coq__Init__Specif__4 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def exist2 : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__4) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + __ : cupicef.Term cupicef.prop (P x) -> + __0 : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term (cupicef.type Coq__Init__Specif__4) + (sig2 (cupicef.type Coq__Init__Specif__4) A P Q). + +[ ] cupicef.code_guarded? _ (exist2 _ _ _ _ _ _) --> cupicef.guarded. + +def match____sig2 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Specif__4) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (cupicef.Term (cupicef.type Coq__Init__Specif__4) + (sig2 (cupicef.type Coq__Init__Specif__4) A P Q) -> + cupicef.Univ s) -> + case__exist2 : + (x0 : cupicef.Term (cupicef.type Coq__Init__Specif__4) A -> + __ : cupicef.Term cupicef.prop (P x0) -> + __0 : cupicef.Term cupicef.prop (Q x0) -> + cupicef.Term s (P0 (exist2 A P Q x0 __ __0))) -> + x : + cupicef.Term (cupicef.type Coq__Init__Specif__4) + (sig2 (cupicef.type Coq__Init__Specif__4) A P Q) -> + cupicef.Term s (P0 x). + +[ s, A, P, Q, P0, case__exist2, x0, __, __0] + match____sig2 s A P Q P0 case__exist2 (exist2 A P Q x0 __ __0) + --> + case__exist2 x0 __ __0. + +[ s, A, P, Q, P0, s'] + match____sig2 s A P Q + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____sig2 s' A P Q (x => P0 x). + +def sig2__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 (exist2 A P Q x p q))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 (exist2 A P Q x p q))) => + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (s0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P0 s0) + f s. + +def sig2__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop (P0 (exist2 A P Q x p q))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term cupicef.prop (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop (P0 (exist2 A P Q x p q))) => + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sig2 cupicef.prop A P Q + (s0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P0 s0) + f s. + +def sig2__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.set) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.set (P0 (exist2 A P Q x p q))) -> + s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term cupicef.set (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P0 : + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.set) => + sig2__rect A P Q + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P0). + +def sigT : + Coq__Init__Specif__7 : cupicef.Sort -> + Coq__Init__Specif__8 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Specif__7 -> + P : + (__ : cupicef.Term Coq__Init__Specif__7 A -> + cupicef.Univ Coq__Init__Specif__8) -> + cupicef.Univ (cupicef.sup Coq__Init__Specif__7 Coq__Init__Specif__8). + +sigT' : + A : cupicef.Univ cupicef.sinf -> + P : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.sinf) -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Specif__7, Coq__Init__Specif__8, A, P] + cupicef.code (cupicef.cU _) + (sigT Coq__Init__Specif__7 Coq__Init__Specif__8 A P) + --> + sigT' (cupicef.code (cupicef.cU Coq__Init__Specif__7) A) + (__ => cupicef.code (cupicef.cU Coq__Init__Specif__8) (P __)). + +def Coq__Init__Specif__7 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Coq__Init__Specif__8 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def existT : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__7) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__7) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__8)) -> + x : cupicef.Term (cupicef.type Coq__Init__Specif__7) A -> + __ : cupicef.Term (cupicef.type Coq__Init__Specif__8) (P x) -> + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8)) + (sigT (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8) A P). + +[ ] cupicef.code_guarded? _ (existT _ _ _ _) --> cupicef.guarded. + +def match____sigT : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Specif__7) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__7) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__8)) -> + P0 : + (cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8)) + (sigT (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8) A P) -> + cupicef.Univ s) -> + case__existT : + (x0 : cupicef.Term (cupicef.type Coq__Init__Specif__7) A -> + __ : cupicef.Term (cupicef.type Coq__Init__Specif__8) (P x0) -> + cupicef.Term s (P0 (existT A P x0 __))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8)) + (sigT (cupicef.type Coq__Init__Specif__7) + (cupicef.type Coq__Init__Specif__8) A P) -> + cupicef.Term s (P0 x). + +[ s, A, P, P0, case__existT, x0, __] + match____sigT s A P P0 case__existT (existT A P x0 __) + --> + case__existT x0 __. + +[ s, A, P, P0, s'] + match____sigT s A P + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____sigT s' A P (x => P0 x). + +def sigT__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 (existT A P x p))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 (existT A P x p))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sigT (cupicef.type (cupicef.s cupicef.z)) A P + (s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + P0 s0) + f s. + +def sigT__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop (P0 (existT A P x p))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term cupicef.prop (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop (P0 (existT A P x p))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sigT cupicef.prop A P + (s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + P0 s0) + f s. + +def sigT__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.set) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.set (P0 (existT A P x p))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term cupicef.set (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Univ cupicef.set) => + sigT__rect A P + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P0). + +def sigT2 : + Coq__Init__Specif__11 : cupicef.Sort -> + Coq__Init__Specif__12 : cupicef.Sort -> + Coq__Init__Specif__13 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Specif__11 -> + P : + (__ : cupicef.Term Coq__Init__Specif__11 A -> + cupicef.Univ Coq__Init__Specif__12) -> + Q : + (__ : cupicef.Term Coq__Init__Specif__11 A -> + cupicef.Univ Coq__Init__Specif__13) -> + cupicef.Univ + (cupicef.sup Coq__Init__Specif__11 + (cupicef.sup Coq__Init__Specif__12 Coq__Init__Specif__13)). + +sigT2' : + A : cupicef.Univ cupicef.sinf -> + P : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.sinf) -> + Q : (__ : cupicef.Term cupicef.sinf A -> cupicef.Univ cupicef.sinf) -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Specif__11, Coq__Init__Specif__12, Coq__Init__Specif__13, A, P, Q] + cupicef.code (cupicef.cU _) + (sigT2 Coq__Init__Specif__11 Coq__Init__Specif__12 Coq__Init__Specif__13 + A P Q) + --> + sigT2' (cupicef.code (cupicef.cU Coq__Init__Specif__11) A) + (__ => cupicef.code (cupicef.cU Coq__Init__Specif__12) (P __)) + (__ => cupicef.code (cupicef.cU Coq__Init__Specif__13) (Q __)). + +def Coq__Init__Specif__11 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Coq__Init__Specif__12 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def Coq__Init__Specif__13 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def existT2 : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__11) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__12)) -> + Q : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__13)) -> + x : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + __ : cupicef.Term (cupicef.type Coq__Init__Specif__12) (P x) -> + __0 : cupicef.Term (cupicef.type Coq__Init__Specif__13) (Q x) -> + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__11) + (cupicef.sup (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13))) + (sigT2 (cupicef.type Coq__Init__Specif__11) + (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13) A P Q). + +[ ] cupicef.code_guarded? _ (existT2 _ _ _ _ _ _) --> cupicef.guarded. + +def match____sigT2 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Specif__11) -> + P : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__12)) -> + Q : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + cupicef.Univ (cupicef.type Coq__Init__Specif__13)) -> + P0 : + (cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__11) + (cupicef.sup (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13))) + (sigT2 (cupicef.type Coq__Init__Specif__11) + (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13) A P Q) -> + cupicef.Univ s) -> + case__existT2 : + (x0 : cupicef.Term (cupicef.type Coq__Init__Specif__11) A -> + __ : cupicef.Term (cupicef.type Coq__Init__Specif__12) (P x0) -> + __0 : cupicef.Term (cupicef.type Coq__Init__Specif__13) (Q x0) -> + cupicef.Term s (P0 (existT2 A P Q x0 __ __0))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type Coq__Init__Specif__11) + (cupicef.sup (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13))) + (sigT2 (cupicef.type Coq__Init__Specif__11) + (cupicef.type Coq__Init__Specif__12) + (cupicef.type Coq__Init__Specif__13) A P Q) -> + cupicef.Term s (P0 x). + +[ s, A, P, Q, P0, case__existT2, x0, __, __0] + match____sigT2 s A P Q P0 case__existT2 (existT2 A P Q x0 __ __0) + --> + case__existT2 x0 __ __0. + +[ s, A, P, Q, P0, s'] + match____sigT2 s A P Q + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____sigT2 s' A P Q (x => P0 x). + +def sigT2__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 (existT2 A P Q x p q))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P0 (existT2 A P Q x p q))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sigT2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P0 s0) + f s. + +def sigT2__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop (P0 (existT2 A P Q x p q))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term cupicef.prop (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop (P0 (existT2 A P Q x p q))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sigT2 cupicef.prop A P Q + (s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P0 s0) + f s. + +def sigT2__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.set) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.set (P0 (existT2 A P Q x p q))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term cupicef.set (P0 s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P0 : + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Univ cupicef.set) => + sigT2__rect A P Q + (cupicef.cast + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P0). + +def proj1__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sig (cupicef.type (cupicef.s cupicef.z)) A P + (e0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term cupicef.prop (P a) => + a) + e. + +def proj2__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term cupicef.prop (P (proj1__sig A P e)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sig cupicef.prop A P + (e0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + P (proj1__sig A P e0)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term cupicef.prop (P a) => + b) + e. + +def sig__of__sig2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + exist A P + (match____sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (X0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (P a) => + __0 : cupicef.Term cupicef.prop (Q a) => + a) + X) + (match____sig2 cupicef.prop A P Q + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P + (match____sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (s0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (P a) => + __0 : cupicef.Term cupicef.prop (Q a) => + a) + s)) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (P x) => + __ : cupicef.Term cupicef.prop (Q x) => + p) + X). + +def proj3__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term cupicef.prop (Q (proj1__sig A P (sig__of__sig2 A P Q e))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + e : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sig2 cupicef.prop A P Q + (e0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + Q (proj1__sig A P (sig__of__sig2 A P Q e0))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term cupicef.prop (P a) => + c : cupicef.Term cupicef.prop (Q a) => + c) + e. + +def projT1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sigT (cupicef.type (cupicef.s cupicef.z)) A P + (x0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + a) + x. + +def projT2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (projT1 A P x)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + match____sigT (cupicef.type (cupicef.s cupicef.z)) A P + (x0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) => + P (projT1 A P x0)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + h : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x0) => + h) + x. + +def sigT__of__sigT2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + X : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + X : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + existT A P + (match____sigT2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (X0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q a) => + a) + X) + (match____sigT2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + P + (match____sigT2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + A) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q a) => + a) + s)) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) => + p) + X). + +def projT3 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + e : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (projT1 A P (sigT__of__sigT2 A P Q e))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + e : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + match____sigT2 (cupicef.type (cupicef.s cupicef.z)) A P Q + (e0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q) => + Q (projT1 A P (sigT__of__sigT2 A P Q e0))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + c : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q a) => + c) + e. + +def sig__of__sigT : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop A P) => + exist A P + (projT1 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + X) + (projT2 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + X). + +def sigT__of__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop A P) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A P) => + existT A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P) + (proj1__sig A P X) (proj2__sig A P X). + +def sig2__of__sigT2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop cupicef.prop A + P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop cupicef.prop + A P Q) => + exist2 A P Q + (projT1 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (sigT__of__sigT2 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + X)) + (projT2 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (sigT__of__sigT2 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + X)) + (projT3 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + X). + +def sigT2__of__sig2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop cupicef.prop A P + Q) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q) => + existT2 A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I Q) + (proj1__sig A P (sig__of__sig2 A P Q X)) + (proj2__sig A P (sig__of__sig2 A P Q X)) (proj3__sig A P Q X). + +def sigT__eta : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + p + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + match____sigT cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + s + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)))) + p. + +def sig__eta : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + p + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + match____sig cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + s + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (P x) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)))) + p. + +def sigT2__eta : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + p + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + p)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + p)) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + match____sigT2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + s + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + s))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) => + Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q)))) + p. + +def sig2__eta : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + p + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + p)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + p)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + match____sig2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + s + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + s))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (P x) => + q : cupicef.Term cupicef.prop (Q x) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q)))) + p. + +thm exists__to__inhabited__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.inhabited + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) => + Coq__Init__Logic.match____ex cupicef.prop A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) => + Coq__Init__Logic.inhabited + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term cupicef.prop (P x) => + Coq__Init__Logic.inhabits + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0)) + (exist A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) + x y)) + H. + +thm inhabited__sig__to__exists : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.inhabited + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.inhabited + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x))) => + Coq__Init__Logic.match____inhabited cupicef.prop + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.inhabited + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x))) => + Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (X : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) => + match____sig cupicef.prop A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P x)) => + Coq__Init__Logic.ex A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x)) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term cupicef.prop (P x) => + Coq__Init__Logic.ex__intro A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) + x y) + X) + H. + +def projT1__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + u v p. + +def projT2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v) + (projT1__eq A P u v p)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s) + (projT1__eq A P u s x)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) s)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1__eq A P u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u)))) + v p. + +def eq__existT__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) -> + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) -> + pq : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) (existT A P v1 v2)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) => + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + pq : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2)) => + match____sigT cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2)) + (s : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) (existT A P v1 v2)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) (existT A P v1 y)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) + (existT A P v1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p))) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) + (existT A P v1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p))) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 u2) + (existT A P y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 y e))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (existT A P u1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + v1 p)) + v2 q) + pq. + +def eq__sigT__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + pq : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + pq : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + match____sigT cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (pq0 : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) => + pq0 : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + match____sigT cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (pq1 : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (projT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + s)) + (v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + pq1 : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v1 v2))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v1 v2)))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + cupicef.I + (eq__existT__uncurried A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u1 v1 u2 v2 pq1)) + v pq0) + u pq. + +def eq__sigT : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + eq__sigT__uncurried A P u v + (existT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v)) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p0) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + p q). + +def eq__sigT__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + eq__sigT A P u v p + (P__hprop + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)). + +def eq__sigT__uncurried__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (__ : + cupicef.Term cupicef.prop + (sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + v + (u0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + sigT cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (existT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + u H) + (eq__sigT__uncurried A P u v). + +def let__f : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sigT A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sigT A P u v (projT1__eq A P u v p) (projT2__eq A P u v p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sigT A P u v p q))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + f (projT1__eq A P u v p) (projT2__eq A P u v p). + +def eq__sigT__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sigT A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sigT A P u v p q))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + match____sigT (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (Q0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Q0 + (eq__sigT A P s v (projT1__eq A P s v p0) + (projT2__eq A P s v p0))) + (f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q0 + (eq__sigT A P s v (projT1__eq A P s v p0) + (projT2__eq A P s v p0))) => + Q0 p0)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v) => + f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q0 + (eq__sigT A P + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v + (projT1__eq A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v p1) + (projT2__eq A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v p1))) => + Coq__Init__Logic.match____eq + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) x + p0) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + (Q1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Q1 + (eq__sigT A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y + (projT1__eq A P + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e) + (projT2__eq A P + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e))) + (f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q1 + (eq__sigT A P + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y + (projT1__eq A P + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e) + (projT2__eq A P + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e))) => + Q1 e))) + (Q1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q1 + (eq__sigT A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (projT1__eq A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0))) + (projT2__eq A P + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (existT A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (existT A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0))))) => + f1) + v p1 Q0 f0) + u Q p (let__f A P u v Q f p). + +def eq__sigT__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.set) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term cupicef.set (Q (eq__sigT A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.set (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.set) => + eq__sigT__rect A P u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I Q). + +def eq__sigT__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.prop) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term cupicef.prop (Q (eq__sigT A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.prop) => + eq__sigT__rec A P u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + cupicef.I Q). + +def eq__sigT__hprop__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + u v p) + (eq__sigT__hprop A P P__hprop u v). + +def eq__sigT__nondep : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) u) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) v)) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) u) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) v)) => + eq__sigT A (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + u v p + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + u) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + v) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) u) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) v) + (Coq__Init__Logic.rew__const A B + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + v) + p + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + u)) + q). + +def rew__sigT : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + u y H) + (existT (P y) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q y)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + u) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + u) + a x0)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + u) + y H))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + u y0 e) + (existT (P y0) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q y0)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + u) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + u) + a x0)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + u) + y0 e))) + (match____sigT cupicef.prop (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop ( + P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop ( + P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop ( + P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + s x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (existT (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q x)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + s) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + s))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) cupicef.prop ( + P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (existT (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q x)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (existT (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + x0 q)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (existT (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + x0 q)))) + u) + y H. + +def proj1__sig__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + u v p. + +def proj2__sig__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v) + (proj1__sig__eq A P u v p)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + s) + (proj1__sig__eq A P u s x)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) s)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig__eq A P u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u)))) + v p. + +def eq__exist__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + pq : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) (exist A P v1 v2)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + pq : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) => + match____sig cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (s : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) (exist A P v1 v2)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (y : cupicef.Term cupicef.prop (P v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) (exist A P v1 y)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) + (exist A P v1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) + (exist A P v1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 u2) + (exist A P y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig (cupicef.type (cupicef.s cupicef.z)) A P)) + (exist A P u1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + v1 p)) + v2 q) + pq. + +def eq__sig__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + pq : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + pq : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + match____sig cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (pq0 : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + pq0 : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + match____sig cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (pq1 : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + s) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + s)) + (v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v2 : cupicef.Term cupicef.prop (P v1) => + pq1 : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v1 v2))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v1 v2)))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u1 u2) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v1 v2)) + cupicef.I + (eq__exist__uncurried A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u1 v1 u2 v2 pq1)) + v pq0) + u pq. + +def eq__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + eq__sig__uncurried A P u v + (exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p0) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) + p q). + +def let__f0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sig A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q + (eq__sig A P u v (proj1__sig__eq A P u v p) (proj2__sig__eq A P u v p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sig A P u v p q))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + f (proj1__sig__eq A P u v p) (proj2__sig__eq A P u v p). + +def eq__sig__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sig A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q (eq__sig A P u v p q))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + match____sig (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (Q0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + s v) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + s v) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Q0 + (eq__sig A P s v (proj1__sig__eq A P s v p0) + (proj2__sig__eq A P s v p0))) + (f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q0 + (eq__sig A P s v (proj1__sig__eq A P s v p0) + (proj2__sig__eq A P s v p0))) => + Q0 p0)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (P x) => + Q0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v) => + f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q0 + (eq__sig A P + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v + (proj1__sig__eq A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v p1) + (proj2__sig__eq A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + v p1))) => + Coq__Init__Logic.match____eq + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) x + p0) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + (Q1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Q1 + (eq__sig A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y + (proj1__sig__eq A P + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e) + (proj2__sig__eq A P + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e))) + (f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q1 + (eq__sig A P + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y + (proj1__sig__eq A P + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e) + (proj2__sig__eq A P + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + y e))) => + Q1 e))) + (Q1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q1 + (eq__sig A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0) + (proj1__sig__eq A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0))) + (proj2__sig__eq A P + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (exist A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + x p0) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (exist A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + x p0))))) => + f1) + v p1 Q0 f0) + u Q p (let__f0 A P u v Q f p). + +def eq__sig__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.set) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term cupicef.set (Q (eq__sig A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.set (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.set) => + eq__sig__rect A P u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I Q). + +def eq__sig__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.prop) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) -> + cupicef.Term cupicef.prop (Q (eq__sig A P u v p q))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Term cupicef.prop (Q p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Q : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) -> + cupicef.Univ cupicef.prop) => + eq__sig__rec A P u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + cupicef.I Q). + +def eq__sig__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) => + eq__sig A P u v p + (P__hprop + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) v)). + +def eq__sig__uncurried__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (__ : + cupicef.Term cupicef.prop + (sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + u) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + v) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.eq__ind__r + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + v + (u0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) => + sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u0) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v))) + u H) + (eq__sig__uncurried A P u v). + +def eq__sig__hprop__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (P x) -> + q : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q)) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) + (x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + u v p) + (eq__sig__hprop A P P__hprop u v). + +def rew__sig : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + u y H) + (exist (P y) (Q y) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + u) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + u) + a x0)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + u) + y H))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + u y0 e) + (exist (P y0) (Q y0) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + u) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + u) + a x0)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + u) + y0 e))) + (match____sig cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => Q x p) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p)) + s x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (exist (P x) (Q x) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + s) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + s))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p))) + (exist (P x) (Q x) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (exist (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + x0 q)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (exist (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + x0 q)))) + u) + y H. + +def sigT__of__sigT2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + u v p. + +def projT1__of__sigT2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + projT1__eq A P + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + (sigT__of__sigT2__eq A P Q u v p). + +def projT2__of__sigT2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1__of__sigT2__eq A P Q u v p)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1__of__sigT2__eq A P Q u s x)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + s))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1__of__sigT2__eq A P Q u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u)))) + v p. + +def projT3__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1__of__sigT2__eq A P Q u v p)) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1__of__sigT2__eq A P Q u s x)) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) s)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1__of__sigT2__eq A P Q u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u)))) + v p. + +def eq__existT2__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) -> + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) -> + u3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q u1) -> + v3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q v1) -> + pqr : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + v3)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) (existT2 A P Q v1 v2 v3)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) => + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + u3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q u1) => + v3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q v1) => + pqr : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + v3)) => + match____sigT2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2)) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + v3)) + (s : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + v3)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) (existT2 A P Q v1 v2 v3)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + v2) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + v3) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) (existT2 A P Q v1 v2 y)) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) + (existT2 A P Q v1 y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 v1 p))) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) + (existT2 A P Q y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 y e) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 y e))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) (existT2 A P Q u1 u2 u3)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3) + (existT2 A P Q u1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 P u2 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 Q u3 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (existT2 A P Q u1 u2 u3))) + v1 p) + v2 q) + v3 r) + pqr. + +def eq__sigT2__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + pqr : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + pqr : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + match____sigT2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (pqr0 : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P u1) => + u3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q u1) => + pqr0 : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + match____sigT2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (pqr1 : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (projT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (projT3 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + s)) + (v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P v1) => + v3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q v1) => + pqr1 : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))) + p) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v1 v2 v3)))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)) + cupicef.I + (eq__existT2__uncurried A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u1 v1 u2 v2 u3 v3 pqr1)) + v pqr0) + u pqr. + +def eq__sigT2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) => + eq__sigT2__uncurried A P Q u v + (existT2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p0) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p0) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + p q r). + +def eq__sigT2__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) => + eq__sigT2 A P Q u v + (projT1__eq A P + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + p) + (projT2__eq A P + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + p) + (Q__hprop + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1__eq A P + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v) + p)) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)). + +def eq__sigT2__uncurried__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + v + (u0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + sigT2 cupicef.prop cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u0)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u0)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (existT2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v) + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + u H) + (eq__sigT2__uncurried A P Q u v). + +def let__f1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sigT2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R + (eq__sigT2 A P Q u v (projT1__of__sigT2__eq A P Q u v p) + (projT2__of__sigT2__eq A P Q u v p) (projT3__eq A P Q u v p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sigT2 A P Q u v p q r))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + f (projT1__of__sigT2__eq A P Q u v p) (projT2__of__sigT2__eq A P Q u v p) + (projT3__eq A P Q u v p). + +def eq__sigT2__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sigT2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sigT2 A P Q u v p q r))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + match____sigT2 (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (R0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (R0 + (eq__sigT2 A P Q s v (projT1__of__sigT2__eq A P Q s v p0) + (projT2__of__sigT2__eq A P Q s v p0) + (projT3__eq A P Q s v p0))) + (f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R0 + (eq__sigT2 A P Q s v + (projT1__of__sigT2__eq A P Q s v p0) + (projT2__of__sigT2__eq A P Q s v p0) + (projT3__eq A P Q s v p0))) => + R0 p0)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) => + R0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v) => + f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R0 + (eq__sigT2 A P Q + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v + (projT1__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1) + (projT2__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1) + (projT3__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1))) => + Coq__Init__Logic.match____eq + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) x + p0 q) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + (R1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (R1 + (eq__sigT2 A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y + (projT1__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (projT2__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (projT3__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e))) + (f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R1 + (eq__sigT2 A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y + (projT1__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (projT2__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (projT3__eq A P Q + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e))) => + R1 e))) + (R1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R1 + (eq__sigT2 A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (projT1__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (projT2__of__sigT2__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (projT3__eq A P Q + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (existT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (existT2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))))) => + f1) + v p1 R0 f0) + u R p (let__f1 A P Q u v R f p). + +def eq__sigT2__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.set) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term cupicef.set (R (eq__sigT2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.set (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.set) => + eq__sigT2__rect A P Q u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I R). + +def eq__sigT2__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.prop) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term cupicef.prop (R (eq__sigT2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.prop) => + eq__sigT2__rec A P Q u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + cupicef.I R). + +def eq__sigT2__hprop__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + u v p) + (eq__sigT2__hprop A P Q Q__hprop u v). + +def eq__sigT2__nondep : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) -> + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + u : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) => + v : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) v)) => + eq__sigT2 A (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u v p + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v)) + (Coq__Init__Logic.rew__const A B + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p + (projT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u))) + q) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u) + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) v) + (Coq__Init__Logic.rew__const A C + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (projT1 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sigT__of__sigT2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p + (projT3 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + r). + +def rew__sigT2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop cupicef.prop + (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + R y p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + u y H) + (existT2 (P y) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q y)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (R y)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + u)) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + u)) + a x0)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + u)) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + u)) + a x0)) + (projT3 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) + u) + y H))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop cupicef.prop + (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + R y0 p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + u y0 e) + (existT2 (P y0) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q y0)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P y0) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (R y0)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + u)) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + u)) + a x0)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + u)) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + u)) + a x0)) + (projT3 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + u) + y0 e))) + (match____sigT2 cupicef.prop (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + s x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (existT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q x)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (R x)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + s)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + s)) + (projT3 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + s))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + r : cupicef.Term cupicef.prop (R x x0) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sigT2 (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (existT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (Q x)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (R x)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (projT1 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + (existT2 (P x) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + x0 q r))) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (projT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (sigT__of__sigT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + (existT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p)) + x0 q r))) + (projT3 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + (existT2 (P x) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P x) + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p)) + x0 q r)))) + u) + y H. + +def sig__of__sig2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + u v p. + +def proj1__sig__of__sig2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + proj1__sig__eq A P + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + (sig__of__sig2__eq A P Q u v p). + +def proj2__sig__of__sig2__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (proj1__sig__of__sig2__eq A P Q u v p)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig__of__sig2__eq A P Q u s x)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + s))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig__of__sig2__eq A P Q u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u)))) + v p. + +def proj3__sig__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (proj1__sig__of__sig2__eq A P Q u v p)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u s) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig__of__sig2__eq A P Q u s x)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) s)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig__of__sig2__eq A P Q u u + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u)))) + v p. + +def eq__exist2__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u2 : cupicef.Term cupicef.prop (P u1) -> + v2 : cupicef.Term cupicef.prop (P v1) -> + u3 : cupicef.Term cupicef.prop (Q u1) -> + v3 : cupicef.Term cupicef.prop (Q v1) -> + pqr : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) (exist2 A P Q v1 v2 v3)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + v2 : cupicef.Term cupicef.prop (P v1) => + u3 : cupicef.Term cupicef.prop (Q u1) => + v3 : cupicef.Term cupicef.prop (Q v1) => + pqr : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) => + match____sig2 cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + (s : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) (exist2 A P Q v1 v2 v3)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + (y : cupicef.Term cupicef.prop (Q v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) (exist2 A P Q v1 v2 y)) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (y : cupicef.Term cupicef.prop (P v1) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) + (exist2 A P Q v1 y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__0 : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p))) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) + (exist2 A P Q y + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 y e))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) (exist2 A P Q u1 u2 u3)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3) + (exist2 A P Q u1 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 u1 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A P Q)) + (exist2 A P Q u1 u2 u3))) + v1 p) + v2 q) + v3 r) + pqr. + +def eq__sig2__uncurried : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + pqr : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + pqr : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + match____sig2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (pqr0 : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a)) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v)) + (u1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u2 : cupicef.Term cupicef.prop (P u1) => + u3 : cupicef.Term cupicef.prop (Q u1) => + pqr0 : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + match____sig2 cupicef.prop A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (pqr1 : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + s)) + p) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + s))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + s)) + (v1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v2 : cupicef.Term cupicef.prop (P v1) => + v3 : cupicef.Term cupicef.prop (Q v1) => + pqr1 : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a)) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3))) + p) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v1 v2 v3)))) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u1 u2 u3) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v1 v2 v3)) + cupicef.I + (eq__exist2__uncurried A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u1 v1 u2 v2 u3 v3 pqr1)) + v pqr0) + u pqr. + +def eq__sig2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) => + eq__sig2__uncurried A P Q u v + (exist2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p0) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p0) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) + p q r). + +def eq__sig2__hprop : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) => + eq__sig2 A P Q u v + (proj1__sig__eq A P + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + p) + (proj2__sig__eq A P + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v) + p) + (Q__hprop + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (proj1__sig__eq A P + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v) + p)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) v)). + +def eq__sig2__uncurried__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (__ : + cupicef.Term cupicef.prop + (sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a)) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a)) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.eq__ind__r + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + v + (u0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + sig2 cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u0)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + u0)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u0) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (exist2 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)) + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)))) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) + u H) + (eq__sig2__uncurried A P Q u v). + +def let__f2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sig2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R + (eq__sig2 A P Q u v (proj1__sig__of__sig2__eq A P Q u v p) + (proj2__sig__of__sig2__eq A P Q u v p) (proj3__sig__eq A P Q u v p))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sig2 A P Q u v p q r))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + f (proj1__sig__of__sig2__eq A P Q u v p) + (proj2__sig__of__sig2__eq A P Q u v p) (proj3__sig__eq A P Q u v p). + +def eq__sig2__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sig2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R (eq__sig2 A P Q u v p q r))) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + match____sig2 (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (R0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + s v) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + s v) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (R0 + (eq__sig2 A P Q s v (proj1__sig__of__sig2__eq A P Q s v p0) + (proj2__sig__of__sig2__eq A P Q s v p0) + (proj3__sig__eq A P Q s v p0))) + (f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R0 + (eq__sig2 A P Q s v + (proj1__sig__of__sig2__eq A P Q s v p0) + (proj2__sig__of__sig2__eq A P Q s v p0) + (proj3__sig__eq A P Q s v p0))) => + R0 p0)))) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (P x) => + q : cupicef.Term cupicef.prop (Q x) => + R0 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v) => + f0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R0 + (eq__sig2 A P Q + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v + (proj1__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1) + (proj2__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1) + (proj3__sig__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + v p1))) => + Coq__Init__Logic.match____eq + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) x + p0 q) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y) => + cupicef.prod + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + y) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + (R1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (R1 + (eq__sig2 A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y + (proj1__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (proj2__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (proj3__sig__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e))) + (f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R1 + (eq__sig2 A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y + (proj1__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (proj2__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e) + (proj3__sig__eq A P Q + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + y e))) => + R1 e))) + (R1 : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q)) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (R1 + (eq__sig2 A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q) + (proj1__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (proj2__sig__of__sig2__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))) + (proj3__sig__eq A P Q + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (exist2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + x p0 q) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + (exist2 A + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + x p0 q))))) => + f1) + v p1 R0 f0) + u R p (let__f2 A P Q u v R f p). + +def eq__sig2__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.set) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term cupicef.set (R (eq__sig2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.set (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.set) => + eq__sig2__rect A P Q u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I R). + +def eq__sig2__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.prop) -> + f : + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a)) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj2__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Q + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a) + v)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a)) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) + p) + (proj3__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) -> + cupicef.Term cupicef.prop (R (eq__sig2 A P Q u v p q r))) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Term cupicef.prop (R p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + R : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) -> + cupicef.Univ cupicef.prop) => + eq__sig2__rec A P Q u v + (cupicef.cast + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + A => + Q a))) + u v) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + cupicef.I R). + +def eq__sig2__hprop__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Q__hprop : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (Q x) -> + q : cupicef.Term cupicef.prop (Q x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q)) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) + (x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a) + v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + u) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a) + v)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v)) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q a))) + u v) => + Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a))) + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig (cupicef.type (cupicef.s cupicef.z)) A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a))) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Q a)) + u v p) + (eq__sig2__hprop A P Q Q__hprop u v). + +def eq__sig2__nondep : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.prop -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) -> + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (proj1__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) -> + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v))) -> + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) v)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C))) + u v) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.prop => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) => + v : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u)) + (proj1__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + v))) => + q : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u)) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + v))) => + r : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v)) => + eq__sig2 A (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u v p + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B)) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + v)) + (Coq__Init__Logic.rew__const A + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I B) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p + (proj2__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (sig__of__sig2 A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) + u))) + q) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C)) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) u) + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) v) + (Coq__Init__Logic.rew__const A + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I C) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + u)) + (proj1__sig A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + a) + (sig__of__sig2 A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + B) a) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + C) a) + v)) + p + (proj3__sig A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => C) + u)) + r). + +def rew__sig2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) -> + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P y) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + Q y p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y) => + R y p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig2 (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + u y H) + (exist2 (P y) (Q y) (R y) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + u)) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + u)) + a x0)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + u)) + y H) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + u)) + a x0)) + (proj3__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + u) + y H))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Q : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + R : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) -> + cupicef.Univ cupicef.prop) => + u : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P y0) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + Q y0 p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y0) => + R y0 p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig2 (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + u y0 e) + (exist2 (P y0) (Q y0) (R y0) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + u)) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + Q a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p) + u)) + a x0)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + u)) + y0 e) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) => + R a + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p) + u)) + a x0)) + (proj3__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + u) + y0 e))) + (match____sig2 cupicef.prop (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => R x p) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + sig2 (cupicef.type (cupicef.s cupicef.z)) (P a) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + Q a p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) => + R a p)) + s x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (exist2 (P x) (Q x) (R x) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + s)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + s)) + (proj3__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + s))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + q : cupicef.Term cupicef.prop (Q x x0) => + r : cupicef.Term cupicef.prop (R x x0) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (sig2 (cupicef.type (cupicef.s cupicef.z)) (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p))) + (exist2 (P x) (Q x) (R x) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (proj1__sig (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + (exist2 (P x) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + Q x p) + (p : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) ( + P x) => + R x p) + x0 q r))) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (proj2__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (sig__of__sig2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + (exist2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + x0 q r))) + (proj3__sig (P x) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Q x p) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + R x p) + (exist2 (P x) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + Q x p) + (p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P x) => + R x p) + x0 q r)))) + u) + y H. + +def sumbool : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.set. + +def left : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.set (sumbool A B). + +def right : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.set (sumbool A B). + +[ ] cupicef.code_guarded? _ (left _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (right _ _ _) --> cupicef.guarded. + +def match____sumbool : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : (cupicef.Term cupicef.set (sumbool A B) -> cupicef.Univ s) -> + case__left : + (__ : cupicef.Term cupicef.prop A -> cupicef.Term s (P (left A B __))) -> + case__right : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term s (P (right A B __))) -> + x : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__left, case__right, __] + match____sumbool s A B P case__left case__right (left A B __) + --> + case__left __. + +[ s, A, B, P, case__left, case__right, __] + match____sumbool s A B P case__left case__right (right A B __) + --> + case__right __. + +[ s, A, B, P, s'] + match____sumbool s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____sumbool s' A B (x => P x). + +def sumbool__rect : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (a : cupicef.Term cupicef.prop A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (left A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (right A B b))) -> + s : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P s) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (a : cupicef.Term cupicef.prop A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (left A B a))) => + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (right A B b))) => + s : cupicef.Term cupicef.set (sumbool A B) => + match____sumbool (cupicef.type (cupicef.s cupicef.z)) A B + (s0 : cupicef.Term cupicef.set (sumbool A B) => P s0) f f0 s. + +def sumbool__ind : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (P (left A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P (right A B b))) -> + s : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Term cupicef.prop (P s) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop (P (left A B a))) => + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P (right A B b))) => + s : cupicef.Term cupicef.set (sumbool A B) => + match____sumbool cupicef.prop A B + (s0 : cupicef.Term cupicef.set (sumbool A B) => P s0) f f0 s. + +def sumbool__rec : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> cupicef.Univ cupicef.set) -> + f : + (a : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.set (P (left A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.set (P (right A B b))) -> + s : cupicef.Term cupicef.set (sumbool A B) -> + cupicef.Term cupicef.set (P s) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + P : + (s : cupicef.Term cupicef.set (sumbool A B) -> cupicef.Univ cupicef.set) => + sumbool__rect A B + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (sumbool A B) + (s : cupicef.Term cupicef.set (sumbool A B) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (sumbool A B) + (s : cupicef.Term cupicef.set (sumbool A B) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def sumor : + Coq__Init__Specif__415 : cupicef.Sort -> + A : cupicef.Univ Coq__Init__Specif__415 -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ (cupicef.sup cupicef.set Coq__Init__Specif__415). + +sumor' : + A : cupicef.Univ cupicef.sinf -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.sinf. + +[ Coq__Init__Specif__415, A, B] + cupicef.code (cupicef.cU _) (sumor Coq__Init__Specif__415 A B) + --> + sumor' (cupicef.code (cupicef.cU Coq__Init__Specif__415) A) B. + +def Coq__Init__Specif__415 : + cupicef.Nat + +:= cupicef.s cupicef.z. + +def inleft : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__415) -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term (cupicef.type Coq__Init__Specif__415) A -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Specif__415)) + (sumor (cupicef.type Coq__Init__Specif__415) A B). + +def inright : + A : cupicef.Univ (cupicef.type Coq__Init__Specif__415) -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Specif__415)) + (sumor (cupicef.type Coq__Init__Specif__415) A B). + +[ ] cupicef.code_guarded? _ (inleft _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (inright _ _ _) --> cupicef.guarded. + +def match____sumor : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type Coq__Init__Specif__415) -> + B : cupicef.Univ cupicef.prop -> + P : + (cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Specif__415)) + (sumor (cupicef.type Coq__Init__Specif__415) A B) -> + cupicef.Univ s) -> + case__inleft : + (__ : cupicef.Term (cupicef.type Coq__Init__Specif__415) A -> + cupicef.Term s (P (inleft A B __))) -> + case__inright : + (__ : cupicef.Term cupicef.prop B -> cupicef.Term s (P (inright A B __))) -> + x : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type Coq__Init__Specif__415)) + (sumor (cupicef.type Coq__Init__Specif__415) A B) -> + cupicef.Term s (P x). + +[ s, A, B, P, case__inleft, case__inright, __] + match____sumor s A B P case__inleft case__inright (inleft A B __) + --> + case__inleft __. + +[ s, A, B, P, case__inleft, case__inright, __] + match____sumor s A B P case__inleft case__inright (inright A B __) + --> + case__inright __. + +[ s, A, B, P, s'] + match____sumor s A B + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____sumor s' A B (x => P x). + +def sumor__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ cupicef.prop -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inleft A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inright A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ cupicef.prop => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inleft A B a))) => + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P (inright A B b))) => + s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + match____sumor (cupicef.type (cupicef.s cupicef.z)) A B + (s0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + P s0) + f f0 s. + +def sumor__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ cupicef.prop -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (inleft A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P (inright A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ cupicef.prop => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P (inleft A B a))) => + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop (P (inright A B b))) => + s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + match____sumor cupicef.prop A B + (s0 : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + P s0) + f f0 s. + +def sumor__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ cupicef.prop -> + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) -> + f : + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P (inleft A B a))) -> + f0 : + (b : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.set (P (inright A B b))) -> + s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.set (P s) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ cupicef.prop => + P : + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.set) => + sumor__rect A B + (cupicef.cast + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (sumor (cupicef.type (cupicef.s cupicef.z)) A B) + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (sumor (cupicef.type (cupicef.s cupicef.z)) A B) + (s : + cupicef.Term + (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (sumor (cupicef.type (cupicef.s cupicef.z)) A B) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def let__s : + S : cupicef.Univ cupicef.set -> + S_27_ : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.prop) -> + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sig cupicef.set S_27_ (y : cupicef.Term cupicef.set S_27_ => R x y))) -> + z : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sig cupicef.set S_27_ (y : cupicef.Term cupicef.set S_27_ => R z y)) + +:= S : cupicef.Univ cupicef.set => + S_27_ : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sig cupicef.set S_27_ (y : cupicef.Term cupicef.set S_27_ => R x y))) => + z : cupicef.Term cupicef.set S => + H z. + +def Choice : + S : cupicef.Univ cupicef.set -> + S_27_ : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.prop) -> + __ : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sig cupicef.set S_27_ (y : cupicef.Term cupicef.set S_27_ => R x y))) -> + cupicef.Term cupicef.set + (sig cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__0 : cupicef.Term cupicef.set S => S_27_)) + (f : + (__0 : cupicef.Term cupicef.set S -> cupicef.Term cupicef.set S_27_) => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I S + (z : cupicef.Term cupicef.set S => R z (f z)))) + +:= S : cupicef.Univ cupicef.set => + S_27_ : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sig cupicef.set S_27_ (y : cupicef.Term cupicef.set S_27_ => R x y))) => + exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__ : cupicef.Term cupicef.set S => S_27_))) + (f : (__ : cupicef.Term cupicef.set S -> cupicef.Term cupicef.set S_27_) => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I S + (z : cupicef.Term cupicef.set S => R z (f z))) + (z : cupicef.Term cupicef.set S => + proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I S_27_) + (y : cupicef.Term cupicef.set S_27_ => R z y) (H z)) + (z : cupicef.Term cupicef.set S => + match____sig cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I S_27_) + (y : cupicef.Term cupicef.set S_27_ => R z y) + (s0 : + cupicef.Term cupicef.set + (sig cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R z y)) => + R z + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I S_27_) + (y : cupicef.Term cupicef.set S_27_ => R z y) s0)) + (x : cupicef.Term cupicef.set S_27_ => + r : cupicef.Term cupicef.prop (R z x) => + r) + (let__s S S_27_ R H z)). + +def let__s0 : + S : cupicef.Univ cupicef.set -> + S_27_ : cupicef.Univ cupicef.set -> + R_27_ : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.set) -> + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ x y))) -> + z : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ z y)) + +:= S : cupicef.Univ cupicef.set => + S_27_ : cupicef.Univ cupicef.set => + R_27_ : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.set) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ x y))) => + z : cupicef.Term cupicef.set S => + H z. + +def Choice2 : + S : cupicef.Univ cupicef.set -> + S_27_ : cupicef.Univ cupicef.set -> + R_27_ : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ x y))) -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__0 : cupicef.Term cupicef.set S => S_27_)) + (f : + (__0 : cupicef.Term cupicef.set S -> cupicef.Term cupicef.set S_27_) => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (z : cupicef.Term cupicef.set S => R_27_ z (f z)))) + +:= S : cupicef.Univ cupicef.set => + S_27_ : cupicef.Univ cupicef.set => + R_27_ : + (__ : cupicef.Term cupicef.set S -> + __0 : cupicef.Term cupicef.set S_27_ -> + cupicef.Univ cupicef.set) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ x y))) => + existT + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__ : cupicef.Term cupicef.set S => S_27_))) + (cupicef.cast + (cupicef.rule (cupicef.rule cupicef.set cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.rule cupicef.set cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.rule cupicef.set cupicef.set) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.rule cupicef.set cupicef.set) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__ : cupicef.Term cupicef.set S => S_27_)) + (f : + (__ : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set S_27_) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.rule cupicef.set cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.rule cupicef.set cupicef.set) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__ : cupicef.Term cupicef.set S => S_27_)) + (__ : + (__ : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set S_27_) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I + (f : + (__ : cupicef.Term cupicef.set S -> cupicef.Term cupicef.set S_27_) => + cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (z : cupicef.Term cupicef.set S => R_27_ z (f z)))) + (z : cupicef.Term cupicef.set S => + projT1 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I S_27_) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I S_27_ + (y : cupicef.Term cupicef.set S_27_ => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I S_27_ + (__ : cupicef.Term cupicef.set S_27_ => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (y : cupicef.Term cupicef.set S_27_ => R_27_ z y)) + (H z)) + (z : cupicef.Term cupicef.set S => + match____sigT cupicef.set + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I S_27_) + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I S_27_ + (y : cupicef.Term cupicef.set S_27_ => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I S_27_ + (__ : cupicef.Term cupicef.set S_27_ => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (y : cupicef.Term cupicef.set S_27_ => R_27_ z y)) + (s0 : + cupicef.Term cupicef.set + (sigT cupicef.set cupicef.set S_27_ + (y : cupicef.Term cupicef.set S_27_ => R_27_ z y)) => + R_27_ z + (projT1 + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I S_27_) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I S_27_ + (y : cupicef.Term cupicef.set S_27_ => + cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I S_27_ + (__ : cupicef.Term cupicef.set S_27_ => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I (y : cupicef.Term cupicef.set S_27_ => R_27_ z y)) + s0)) + (x : cupicef.Term cupicef.set S_27_ => + r : cupicef.Term cupicef.set (R_27_ z x) => + r) + (let__s0 S S_27_ R_27_ H z)). + +def let__s1 : + S : cupicef.Univ cupicef.set -> + R1 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) -> + R2 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) -> + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set (sumbool (R1 x) (R2 x))) -> + z : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set (sumbool (R1 z) (R2 z)) + +:= S : cupicef.Univ cupicef.set => + R1 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) => + R2 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set (sumbool (R1 x) (R2 x))) => + z : cupicef.Term cupicef.set S => + H z. + +def bool__choice : + S : cupicef.Univ cupicef.set -> + R1 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) -> + R2 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) -> + __ : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set (sumbool (R1 x) (R2 x))) -> + cupicef.Term cupicef.set + (sig cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__0 : cupicef.Term cupicef.set S => Coq__Init__Datatypes.bool)) + (f : + (__0 : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I S + (x : cupicef.Term cupicef.set S => + Coq__Init__Logic.or + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (f x) Coq__Init__Datatypes.true) + (R1 x)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (f x) Coq__Init__Datatypes.false) + (R2 x))))) + +:= S : cupicef.Univ cupicef.set => + R1 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) => + R2 : (__ : cupicef.Term cupicef.set S -> cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set (sumbool (R1 x) (R2 x))) => + exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I S + (__ : cupicef.Term cupicef.set S => Coq__Init__Datatypes.bool))) + (f : + (__ : cupicef.Term cupicef.set S -> + cupicef.Term cupicef.set Coq__Init__Datatypes.bool) => + cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I S + (x : cupicef.Term cupicef.set S => + Coq__Init__Logic.or + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (f x) Coq__Init__Datatypes.true) + (R1 x)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (f x) Coq__Init__Datatypes.false) + (R2 x)))) + (z : cupicef.Term cupicef.set S => + match____sumbool cupicef.set (R1 z) (R2 z) + (s : cupicef.Term cupicef.set (sumbool (R1 z) (R2 z)) => + Coq__Init__Datatypes.bool) + (__ : cupicef.Term cupicef.prop (R1 z) => Coq__Init__Datatypes.true) + (__ : cupicef.Term cupicef.prop (R2 z) => Coq__Init__Datatypes.false) + (H z)) + (z : cupicef.Term cupicef.set S => + match____sumbool cupicef.prop (R1 z) (R2 z) + (s0 : cupicef.Term cupicef.set (sumbool (R1 z) (R2 z)) => + Coq__Init__Logic.or + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (match____sumbool cupicef.set (R1 z) (R2 z) + (s1 : cupicef.Term cupicef.set (sumbool (R1 z) (R2 z)) => + Coq__Init__Datatypes.bool) + (__ : cupicef.Term cupicef.prop (R1 z) => + Coq__Init__Datatypes.true) + (__ : cupicef.Term cupicef.prop (R2 z) => + Coq__Init__Datatypes.false) + s0) + Coq__Init__Datatypes.true) + (R1 z)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + (match____sumbool cupicef.set (R1 z) (R2 z) + (s1 : cupicef.Term cupicef.set (sumbool (R1 z) (R2 z)) => + Coq__Init__Datatypes.bool) + (__ : cupicef.Term cupicef.prop (R1 z) => + Coq__Init__Datatypes.true) + (__ : cupicef.Term cupicef.prop (R2 z) => + Coq__Init__Datatypes.false) + s0) + Coq__Init__Datatypes.false) + (R2 z))) + (r : cupicef.Term cupicef.prop (R1 z) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (R1 z)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) + (R2 z)) + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) + (R1 z) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true) + r)) + (r : cupicef.Term cupicef.prop (R2 z) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) + (R1 z)) + (Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (R2 z)) + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) + (R2 z) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false) + r)) + (let__s1 S R1 R2 H z)). + +def let__f3 : + X : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set X -> + __0 : cupicef.Term cupicef.set X -> + cupicef.Univ cupicef.prop) -> + H : + (x : cupicef.Term cupicef.set X -> + cupicef.Term cupicef.set + (sig cupicef.set X (y : cupicef.Term cupicef.set X => R x y))) -> + x0 : cupicef.Term cupicef.set X -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set X + +:= X : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set X -> + __0 : cupicef.Term cupicef.set X -> + cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set X -> + cupicef.Term cupicef.set + (sig cupicef.set X (y : cupicef.Term cupicef.set X => R x y))) => + x0 : cupicef.Term cupicef.set X => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => X)))) + (c => + c + (f => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.match____nat cupicef.set + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => X) x0 + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => R (f n_27_) y) (H (f n_27_))) + n)) + cupicef.0. + +def dependent__choice : + X : cupicef.Univ cupicef.set -> + R : + (__ : cupicef.Term cupicef.set X -> + __0 : cupicef.Term cupicef.set X -> + cupicef.Univ cupicef.prop) -> + __ : + (x : cupicef.Term cupicef.set X -> + cupicef.Term cupicef.set + (sig cupicef.set X (y : cupicef.Term cupicef.set X => R x y))) -> + x0 : cupicef.Term cupicef.set X -> + cupicef.Term cupicef.set + (sig cupicef.set + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (__0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => X)) + (f : + (__0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set X) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (f Coq__Init__Datatypes.O) x0) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + R (f n) (f (Coq__Init__Datatypes.S n)))))) + +:= X : cupicef.Univ cupicef.set => + R : + (__ : cupicef.Term cupicef.set X -> + __0 : cupicef.Term cupicef.set X -> + cupicef.Univ cupicef.prop) => + H : + (x : cupicef.Term cupicef.set X -> + cupicef.Term cupicef.set + (sig cupicef.set X (y : cupicef.Term cupicef.set X => R x y))) => + x0 : cupicef.Term cupicef.set X => + exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (cupicef.prod cupicef.set cupicef.set + (cupicef.rule cupicef.set cupicef.set) cupicef.I + Coq__Init__Datatypes.nat + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => X))) + (f0 : + (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + cupicef.Term cupicef.set X) => + Coq__Init__Logic.and + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (f0 Coq__Init__Datatypes.O) x0) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + R (f0 n) (f0 (Coq__Init__Datatypes.S n))))) + (let__f3 X R H x0) + (Coq__Init__Logic.conj + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (let__f3 X R H x0 Coq__Init__Datatypes.O) x0) + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I + Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + R (let__f3 X R H x0 n) + (let__f3 X R H x0 (Coq__Init__Datatypes.S n)))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x0) + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + R (let__f3 X R H x0 n0) + (let__f3 X R H x0 (Coq__Init__Datatypes.S n0))) + (cupicef.cast cupicef.prop cupicef.prop + ((y : cupicef.Term cupicef.set X => R x0 y) + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => R x0 y) (H x0))) + (R (let__f3 X R H x0 Coq__Init__Datatypes.O) + (let__f3 X R H x0 + (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) + cupicef.I + (proj2__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => R x0 y) (H x0))) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + cupicef.Term cupicef.prop + (R (let__f3 X R H x0 n0) + (let__f3 X R H x0 (Coq__Init__Datatypes.S n0))) => + cupicef.cast cupicef.prop cupicef.prop + ((y : cupicef.Term cupicef.set X => + R + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y0 : cupicef.Term cupicef.set X => + R (let__f3 X R H x0 n0) y0) + (H (let__f3 X R H x0 n0))) + y) + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => + R + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y0 : cupicef.Term cupicef.set X => + R (let__f3 X R H x0 n0) y0) + (H (let__f3 X R H x0 n0))) + y) + (H + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => + R (let__f3 X R H x0 n0) y) + (H (let__f3 X R H x0 n0)))))) + (R (let__f3 X R H x0 (Coq__Init__Datatypes.S n0)) + (let__f3 X R H x0 + (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n0)))) + cupicef.I + (proj2__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => + R + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y0 : cupicef.Term cupicef.set X => + R (let__f3 X R H x0 n0) y0) + (H (let__f3 X R H x0 n0))) + y) + (H + (proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I X) + (y : cupicef.Term cupicef.set X => + R (let__f3 X R H x0 n0) y) + (H (let__f3 X R H x0 n0)))))) + n)). + +def Exc : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Datatypes.option (cupicef.type (cupicef.s cupicef.z)) A. + +def value : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.option (cupicef.type (cupicef.s cupicef.z)) A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Datatypes.Some A. + +def error : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Term (cupicef.sup cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.option (cupicef.type (cupicef.s cupicef.z)) A) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Coq__Init__Datatypes.None A. + +def except : + P : cupicef.Univ cupicef.set -> + f : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.set P + +:= Coq__Init__Logic.False__rec. + +def absurd__set : + A : cupicef.Univ cupicef.prop -> + C : cupicef.Univ cupicef.set -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + cupicef.Term cupicef.set C + +:= A : cupicef.Univ cupicef.prop => + C : cupicef.Univ cupicef.set => + h1 : cupicef.Term cupicef.prop A => + h2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.False__rec C (h2 h1). + +(; End of translation. ;) diff --git a/out/Coq__Init__Tactics.dk b/out/Coq__Init__Tactics.dk new file mode 100644 index 000000000..53b774e53 --- /dev/null +++ b/out/Coq__Init__Tactics.dk @@ -0,0 +1,87 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm decide__left : + C : cupicef.Univ cupicef.prop -> + decide : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + __ : cupicef.Term cupicef.prop C -> + P : + (__0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + cupicef.Univ cupicef.prop) -> + __0 : + (H : cupicef.Term cupicef.prop C -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.left C (Coq__Init__Logic.not C) H))) -> + cupicef.Term cupicef.prop (P decide) + +:= C : cupicef.Univ cupicef.prop => + decide : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) => + H : cupicef.Term cupicef.prop C => + P : + (__ : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + cupicef.Univ cupicef.prop) => + H0 : + (H0 : cupicef.Term cupicef.prop C -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.left C (Coq__Init__Logic.not C) H0))) => + Coq__Init__Specif.match____sumbool cupicef.prop C (Coq__Init__Logic.not C) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) => + P s) + (c : cupicef.Term cupicef.prop C => H0 c) + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) => + Coq__Init__Logic.False__ind + (P (Coq__Init__Specif.right C (Coq__Init__Logic.not C) n)) (n H)) + decide. + +thm decide__right : + C : cupicef.Univ cupicef.prop -> + decide : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) -> + P : + (__0 : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + cupicef.Univ cupicef.prop) -> + __0 : + (H : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.right C (Coq__Init__Logic.not C) H))) -> + cupicef.Term cupicef.prop (P decide) + +:= C : cupicef.Univ cupicef.prop => + decide : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) => + P : + (__ : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) -> + cupicef.Univ cupicef.prop) => + H0 : + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.right C (Coq__Init__Logic.not C) H0))) => + Coq__Init__Specif.match____sumbool cupicef.prop C (Coq__Init__Logic.not C) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool C (Coq__Init__Logic.not C)) => + P s) + (c : cupicef.Term cupicef.prop C => + Coq__Init__Logic.False__ind + (P (Coq__Init__Specif.left C (Coq__Init__Logic.not C) c)) (H c)) + (n : cupicef.Term cupicef.prop (Coq__Init__Logic.not C) => H0 n) decide. + +(; End of translation. ;) diff --git a/out/Coq__Init__Tauto.dk b/out/Coq__Init__Tauto.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Init__Tauto.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Init__Wf.dk b/out/Coq__Init__Wf.dk new file mode 100644 index 000000000..ed349ffad --- /dev/null +++ b/out/Coq__Init__Wf.dk @@ -0,0 +1,1621 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Acc : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def Acc__intro : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + cupicef.Term cupicef.prop (Acc A R x). + +[ ] cupicef.code_guarded? _ (Acc__intro _ _ _ _) --> cupicef.guarded. + +def match____Acc : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : (cupicef.Term cupicef.prop (Acc A R x) -> cupicef.Univ s) -> + case__Acc__intro : + (__ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + cupicef.Term s (P (Acc__intro A R x __))) -> + x0 : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term s (P x0). + +[ s, A, R, x, P, case__Acc__intro, __] + match____Acc s A R x P case__Acc__intro (Acc__intro A R x __) + --> + case__Acc__intro __. + +[ s, A, R, x, P, s'] + match____Acc s A R x + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____Acc s' A R x (x => P x). + +def Acc__rect : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Acc A R x) + (a : cupicef.Term cupicef.prop (Acc A R x) => P x))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term cupicef.prop (Acc A R x) => + match____Acc (cupicef.type (cupicef.s cupicef.z)) A R x + (__ : cupicef.Term cupicef.prop (Acc A R x) => P x) + (a0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) => + f x a0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R y x) => + F y (a0 y r))) + a)) + cupicef.0. + +def Acc__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (P y)) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term cupicef.prop (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (P y)) -> + cupicef.Term cupicef.prop (P x)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Acc A R x) + (a : cupicef.Term cupicef.prop (Acc A R x) => P x))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term cupicef.prop (Acc A R x) => + match____Acc cupicef.prop A R x + (__ : cupicef.Term cupicef.prop (Acc A R x) => P x) + (a0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) => + f x a0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R y x) => + F y (a0 y r))) + a)) + cupicef.0. + +def Acc__rec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term cupicef.set (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + Acc__rect A R + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def Acc__inv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Acc A R x) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (Acc A R x) => + match____Acc cupicef.prop A R x + (__ : cupicef.Term cupicef.prop (Acc A R x) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y x) + (__0 : cupicef.Term cupicef.prop (R y x) => Acc A R y))) + (H0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) => + H0) + H. + +def well__founded : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => Acc A R a). + +def well__founded__induction__type : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + X : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Acc__rect A R P + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) => + X0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) => + X x X0) + a (Rwf a). + +def well__founded__induction : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.set (P y)) -> + cupicef.Term cupicef.set (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.set) => + well__founded__induction__type A R Rwf + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def well__founded__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (P y)) -> + cupicef.Term cupicef.prop (P x)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + well__founded__induction__type A R Rwf + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def Fix__F : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (Acc A R x) + (a : cupicef.Term cupicef.prop (Acc A R x) => P x))))) + (c => + c + (Fix__F0 => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term cupicef.prop (Acc A R x) => + F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + h : cupicef.Term cupicef.prop (R y x) => + Fix__F0 y (Acc__inv A R x a y h)))) + cupicef.0. + +def Acc__inv__dep : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + r : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (P y (a y r))) -> + cupicef.Term cupicef.prop (P x (Acc__intro A R x a))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + r : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (P y (a y r))) -> + cupicef.Term cupicef.prop (P x (Acc__intro A R x a))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Acc A R x) + (a : cupicef.Term cupicef.prop (Acc A R x) => P x a))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term cupicef.prop (Acc A R x) => + match____Acc cupicef.prop A R x + (a0 : cupicef.Term cupicef.prop (Acc A R x) => P x a0) + (a0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop (Acc A R y)) => + f x a0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R y x) => + F y (a0 y r))) + a)) + cupicef.0. + +thm Fix__F__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + r : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Acc__inv A R x r y p))) + (Fix__F A R P F x r)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (Acc A R x) => + Acc__inv__dep A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r0 : cupicef.Term cupicef.prop (Acc A R x0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (F x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 r0 y p))) + (Fix__F A R P F x0 r0)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x0) -> + cupicef.Term cupicef.prop (Acc A R y)) => + H : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + r0 : cupicef.Term cupicef.prop (R y x0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (F y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y0 y) => + Fix__F A R P F y0 (Acc__inv A R y (a y r0) y0 p))) + (Fix__F A R P F y (a y r0)))) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (Fix__F A R P F x0 (Acc__intro A R x0 a))) + x r. + +def Fix : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Fix__F A R P F x (Rwf x). + +def let__a : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (Acc A R x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Rwf x. + +thm Fix__F__inv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + r : cupicef.Term cupicef.prop (Acc A R x) -> + s : cupicef.Term cupicef.prop (Acc A R x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Fix__F A R P F x r) (Fix__F A R P F x s)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Acc__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Acc A R x0) + (r : cupicef.Term cupicef.prop (Acc A R x0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (Acc A R x0) + (s : cupicef.Term cupicef.prop (Acc A R x0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (Fix__F A R P F x0 r) (Fix__F A R P F x0 s)))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x0) -> + cupicef.Term cupicef.prop (Acc A R y)) => + H0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x0) -> + r : cupicef.Term cupicef.prop (Acc A R y) -> + s : cupicef.Term cupicef.prop (Acc A R y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (Fix__F A R P F y r) (Fix__F A R P F y s))) => + r : cupicef.Term cupicef.prop (Acc A R x0) => + s : cupicef.Term cupicef.prop (Acc A R x0) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (F x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 r y p))) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + p (Fix__F A R P F x0 s)) + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (F x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 s y p))) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x0)) + (F x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 r y p0))) + p) + (F__ext x0 + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 r y p)) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + Fix__F A R P F y (Acc__inv A R x0 s y p)) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x0) => + H0 y p (Acc__inv A R x0 r y p) (Acc__inv A R x0 s y p))) + (Fix__F A R P F x0 s) (Fix__F__eq A R P F x0 s)) + (Fix__F A R P F x0 r) (Fix__F__eq A R P F x0 r)) + x (let__a A R Rwf P F F__ext x). + +thm Fix__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + Rwf : cupicef.Term cupicef.prop (well__founded A R) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) -> + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Fix A R Rwf P F x) + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix A R Rwf P F y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + Rwf : cupicef.Term cupicef.prop (well__founded A R) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x)) => + F__ext : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + g : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y)) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : cupicef.Term cupicef.prop (R y x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (f y p) (g y p))) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x f) (F x g))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.cast cupicef.prop cupicef.prop + ((p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Rwf y)))) + (Fix__F A R P F x (Rwf x))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Fix A R Rwf P F x) + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix A R Rwf P F y))) + cupicef.I + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Acc__inv A R x (Rwf x) y p))) + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p + (F x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p0 : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Rwf y)))) + (F__ext x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Acc__inv A R x (Rwf x) y p)) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix__F A R P F y (Rwf y)) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p : cupicef.Term cupicef.prop (R y x) => + Fix__F__inv A R Rwf P F F__ext y (Acc__inv A R x (Rwf x) y p) + (Rwf y))) + (Fix__F A R P F x (Rwf x)) (Fix__F__eq A R P F x (Rwf x))). + +def Fix__F__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.pair A B y y_27_) + (Coq__Init__Datatypes.pair A B x x_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y y_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x x_27_)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + a : + cupicef.Term cupicef.prop + (Acc + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R (Coq__Init__Datatypes.pair A B x x_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x x_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + F : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.pair A B y y_27_) + (Coq__Init__Datatypes.pair A B x x_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y y_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x x_27_)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I B + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Acc + (Coq__Init__Datatypes.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R (Coq__Init__Datatypes.pair A B x x_27_)) + (a : + cupicef.Term cupicef.prop + (Acc + (Coq__Init__Datatypes.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R (Coq__Init__Datatypes.pair A B x x_27_)) => + P x x_27_)))))) + (c => + c + (Fix__F__3 => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + a : + cupicef.Term cupicef.prop + (Acc + (Coq__Init__Datatypes.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R (Coq__Init__Datatypes.pair A B x x_27_)) => + F x x_27_ + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + h : + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.pair A B y y_27_) + (Coq__Init__Datatypes.pair A B x x_27_)) => + Fix__F__3 y y_27_ + (Acc__inv + (Coq__Init__Datatypes.prod + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R (Coq__Init__Datatypes.pair A B x x_27_) a + (Coq__Init__Datatypes.pair A B y y_27_) h)))) + cupicef.0. + +def well__founded__induction__type__2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + Rwf : + cupicef.Term cupicef.prop + (well__founded + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.pair A B y y_27_) + (Coq__Init__Datatypes.pair A B x x_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y y_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x x_27_)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P a b) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + Rwf : + cupicef.Term cupicef.prop + (well__founded + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) + R) => + X : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : + cupicef.Term cupicef.prop + (R (Coq__Init__Datatypes.pair A B y y_27_) + (Coq__Init__Datatypes.pair A B x x_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P y y_27_)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x x_27_)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + Fix__F__2 A B R P X a b (Rwf (Coq__Init__Datatypes.pair A B a b)). + +def Acc__intro__generator : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + wf : cupicef.Term cupicef.prop (well__founded A R) -> + cupicef.Term cupicef.prop (well__founded A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.0 cupicef.prop + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Datatypes.nat + (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (well__founded A R) + (wf : cupicef.Term cupicef.prop (well__founded A R) => + well__founded A R))))) + (c => + c + (Acc__intro__generator0 => + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + wf : cupicef.Term cupicef.prop (well__founded A R) => + Coq__Init__Datatypes.match____nat cupicef.prop + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + well__founded A R) + wf + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Acc__intro A R x + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (R y x) => + Acc__intro__generator0 n0 (Acc__intro__generator0 n0 wf) y)) + n)) + cupicef.0. + +(; End of translation. ;) diff --git a/out/Coq__Logic__Decidable.dk b/out/Coq__Logic__Decidable.dk new file mode 100644 index 000000000..822838e0e --- /dev/null +++ b/out/Coq__Logic__Decidable.dk @@ -0,0 +1,9614 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def decidable : + P : cupicef.Univ cupicef.prop -> cupicef.Univ cupicef.prop + +:= P : cupicef.Univ cupicef.prop => + Coq__Init__Logic.or P (Coq__Init__Logic.not P). + +def let__H : + P : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) -> + H0 : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + H0 : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + H0 H1. + +thm dec__not__not : + P : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable P) -> + __0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop P + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (P : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not P) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Logic.False)) + (H0 : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + P)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (P : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (decidable P) + (__ : cupicef.Term cupicef.prop (decidable P) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not P) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + P)))) + cupicef.I + (P : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + H0 : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.or__ind P (Coq__Init__Logic.not P) P + (H1 : cupicef.Term cupicef.prop P => H1) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Logic.False__ind P (let__H P H H0 H1)) + H). + +thm dec__True : + cupicef.Term cupicef.prop (decidable Coq__Init__Logic.True) + +:= cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.True + (Coq__Init__Logic.not Coq__Init__Logic.True)) + (decidable Coq__Init__Logic.True) cupicef.I + (Coq__Init__Logic.or__introl Coq__Init__Logic.True + (Coq__Init__Logic.not Coq__Init__Logic.True) Coq__Init__Logic.I). + +thm dec__False : + cupicef.Term cupicef.prop (decidable Coq__Init__Logic.False) + +:= cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.or Coq__Init__Logic.False + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False))) + (decidable Coq__Init__Logic.False) cupicef.I + (Coq__Init__Logic.or__intror Coq__Init__Logic.False + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => H)). + +def let__H0 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H4 : cupicef.Term cupicef.prop A => + H1 H4. + +def let__H1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H4 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H4 : cupicef.Term cupicef.prop B => + H2 H4. + +thm dec__or : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop (decidable (Coq__Init__Logic.or A B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__0 : cupicef.Term cupicef.prop (decidable B) => + decidable (Coq__Init__Logic.or A B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B))) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) + (Coq__Init__Logic.or__introl A B H1)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__introl (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) + (Coq__Init__Logic.or__introl A B H1)) + H0) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) + (Coq__Init__Logic.or__intror A B H2)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__intror (Coq__Init__Logic.or A B) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A B) + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.or__ind A B Coq__Init__Logic.False + (H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H0 A B H H0 H1 H2 H3 H4)) + (H4 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H1 A B H H0 H1 H2 H3 H4)) + H3))) + H0) + H). + +def let__H2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H4 : cupicef.Term cupicef.prop A -> + H5 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + H2 H5. + +def let__H3 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H4 : cupicef.Term cupicef.prop A -> + H5 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + H1 H4. + +def let__H4 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H4 : cupicef.Term cupicef.prop A -> + H5 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + H1 H4. + +def let__H5 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H4 : cupicef.Term cupicef.prop A -> + H5 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + H2 H5. + +thm dec__and : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop (decidable (Coq__Init__Logic.and A B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__0 : cupicef.Term cupicef.prop (decidable B) => + decidable (Coq__Init__Logic.and A B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B))) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (Coq__Init__Logic.conj A B H1 H2)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__intror (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (H3 : + cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.and__ind A B Coq__Init__Logic.False + (H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H2 A B H H0 H1 H2 H3 H4 H5)) + H3))) + H0) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__intror (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (H3 : + cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.and__ind A B Coq__Init__Logic.False + (H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H3 A B H H0 H1 H2 H3 H4 H5)) + H3))) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__intror (Coq__Init__Logic.and A B) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (H3 : + cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.and__ind A B Coq__Init__Logic.False + (H4 : cupicef.Term cupicef.prop A => + H5 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H5 A B H H0 H1 H2 H3 H4 H5)) + H3))) + H0) + H). + +def let__H6 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 H0. + +def let__H7 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : cupicef.Term cupicef.prop A => + H0 H1. + +thm dec__not : + A : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop (decidable (Coq__Init__Logic.not A)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or (Coq__Init__Logic.not A) + (Coq__Init__Logic.not (Coq__Init__Logic.not A))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + decidable (Coq__Init__Logic.not A)))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.not A) + (Coq__Init__Logic.not (Coq__Init__Logic.not A))) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__intror (Coq__Init__Logic.not A) + (Coq__Init__Logic.not (Coq__Init__Logic.not A)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not A) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.not A)) cupicef.I + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H6 A H H0 H1)))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__introl (Coq__Init__Logic.not A) + (Coq__Init__Logic.not (Coq__Init__Logic.not A)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H1 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (Coq__Init__Logic.not A) cupicef.I + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H7 A H H0 H1)))) + H). + +def let__H8 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 H1. + +def let__H9 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 (let__H8 A B H H0 H1 H2 H3). + +def let__H10 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop A => + H1 H3. + +def let__H11 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop A => + H1 H3. + +thm dec__imp : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop + (decidable + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__1 : cupicef.Term cupicef.prop A => B))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + A (__ : cupicef.Term cupicef.prop A => B)))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__0 : cupicef.Term cupicef.prop (decidable B) => + decidable + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__1 : cupicef.Term cupicef.prop A => B))))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)))) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H3 : cupicef.Term cupicef.prop A => H2)) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__intror + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (cupicef.cast + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + cupicef.I + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H9 A B H H0 H1 H2 H3)))) + H0) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H10 A B H H0 H1 H2 H3))) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__introl + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H11 A B H H0 H1 H2 H3))) + H0) + H). + +def let__H12 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H4 H1. + +def let__H13 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 (let__H12 A B H H0 H1 H2 H3 H4 H5). + +def let__H14 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H5 (let__H12 A B H H0 H1 H2 H3 H4 H5). + +def let__H15 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H5 H2. + +def let__H16 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 (let__H15 A B H H0 H1 H2 H3 H4 H5). + +def let__H17 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) -> + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H4 (let__H15 A B H H0 H1 H2 H3 H4 H5). + +def let__H18 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop A => + H1 H3. + +def let__H19 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H3 : cupicef.Term cupicef.prop B => + H2 H3. + +thm dec__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop (decidable (Coq__Init__Logic.iff A B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__0 : cupicef.Term cupicef.prop (decidable B) => + decidable (Coq__Init__Logic.iff A B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B))) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__introl (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (H3 : cupicef.Term cupicef.prop A => H2) + (H3 : cupicef.Term cupicef.prop B => H1))) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__intror (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff A B) + (H3 : + cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + Coq__Init__Logic.False + (H4 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + H5 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H13 A B H H0 H1 H2 H3 H4 H5)) + H3))) + H0) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B))) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__intror (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.iff A B) + (H3 : + cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) cupicef.I + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.iff A B) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + Coq__Init__Logic.False + (H4 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + H5 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H16 A B H H0 H1 H2 H3 H4 H5)) + H3))) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__introl (Coq__Init__Logic.iff A B) + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H18 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind A (let__H19 A B H H0 H1 H2 H3)))) + H0) + H). + +def let__H20 : + P : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) -> + H0 : + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Logic.not P)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= P : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + H0 H1. + +thm not__not : + P : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable P) -> + __0 : + cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Logic.not P)) -> + cupicef.Term cupicef.prop P + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (P : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) => + P)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (P : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable P) + (__ : cupicef.Term cupicef.prop (decidable P) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) => + P)))) + cupicef.I + (P : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or P (Coq__Init__Logic.not P)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.not P)) => + Coq__Init__Logic.or__ind P (Coq__Init__Logic.not P) P + (H1 : cupicef.Term cupicef.prop P => H1) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not P) => + Coq__Init__Logic.False__ind P (let__H20 P H H0 H1)) + H). + +def let__H21 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) => + H0 : cupicef.Term cupicef.prop A => + H (Coq__Init__Logic.or__introl A B H0). + +def let__H22 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) => + H1 : cupicef.Term cupicef.prop B => + H (Coq__Init__Logic.or__intror A B H1). + +def let__H23 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) => + H2 : cupicef.Term cupicef.prop A => + let__H21 A B H H2. + +def let__H24 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) => + H2 : cupicef.Term cupicef.prop B => + let__H22 A B H H2. + +thm not__or : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (Coq__Init__Logic.not A) (Coq__Init__Logic.not B)) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.or A B)) => + Coq__Init__Logic.conj (Coq__Init__Logic.not A) (Coq__Init__Logic.not B) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H2 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (Coq__Init__Logic.not A) cupicef.I + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H23 A B H H2))) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H2 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (Coq__Init__Logic.not B) cupicef.I + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H24 A B H H2))). + +def let__H25 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop A -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H0 (Coq__Init__Logic.conj A B H2 H3). + +def let__H26 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop A => + let__H25 A B H H0 H1 H1. + +def let__H27 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + let__H26 A B H H0 H1 H2. + +def let__H28 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H0 (Coq__Init__Logic.conj A B H2 H3). + +def let__H29 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop A => + H1 H2. + +def let__H30 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop A -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop A => + let__H28 A B H H0 H1 H2. + +thm not__and : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Logic.not A) (Coq__Init__Logic.not B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + Coq__Init__Logic.or (Coq__Init__Logic.not A) + (Coq__Init__Logic.not B)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + Coq__Init__Logic.or (Coq__Init__Logic.not A) + (Coq__Init__Logic.not B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.and A B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.not A) + (Coq__Init__Logic.not B)) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__intror (Coq__Init__Logic.not A) + (Coq__Init__Logic.not B) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H2 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (Coq__Init__Logic.not B) cupicef.I + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H27 A B H H0 H1 H2)))) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__introl (Coq__Init__Logic.not A) + (Coq__Init__Logic.not B) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H2 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (Coq__Init__Logic.not A) cupicef.I + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H29 A B H H0 H1 H2)))) + H). + +def let__H33 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H32 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H33 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H0 (x : cupicef.Term cupicef.prop A => y)). + +def let__H31 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + H0 (let__H32 A B H H0 H1 H2). + +def let__H36 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H1 H3. + +def let__H35 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + (H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H36 A B H H0 H1 H2 H3)) + (y : cupicef.Term cupicef.prop B => + H0 (x : cupicef.Term cupicef.prop A => y)). + +def let__H34 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H0 (let__H35 A B H H0 H1). + +def let__H39 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H40 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H1 H4. + +def let__H38 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H40 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H0 (x : cupicef.Term cupicef.prop A => y)). + +def let__H37 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop B => + H0 (let__H38 A B H H0 H1 H2). + +thm not__imp : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + Coq__Init__Logic.and A (Coq__Init__Logic.not B)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) => + Coq__Init__Logic.and A (Coq__Init__Logic.not B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj A (Coq__Init__Logic.not B) H1 + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H2 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (Coq__Init__Logic.not B) cupicef.I + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H31 A B H H0 H1 H2)))) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj A (Coq__Init__Logic.not B) + ((H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind A H2) (let__H34 A B H H0 H1)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H2 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (Coq__Init__Logic.not B) cupicef.I + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H37 A B H H0 H1 H2)))) + H). + +def let__H41 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H1 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : cupicef.Term cupicef.prop A => + H0 H1. + +def let__H42 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop A => + H0 H2. + +def let__H43 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H2 : cupicef.Term cupicef.prop A => + H1 H2. + +thm imp__simp : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : (__0 : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.or (Coq__Init__Logic.not A) B) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (H0 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or (Coq__Init__Logic.not A) B))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or (Coq__Init__Logic.not A) B))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or (Coq__Init__Logic.not A) B) + (H1 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__intror (Coq__Init__Logic.not A) B + (let__H41 A B H H0 H1)) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__introl (Coq__Init__Logic.not A) B + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H2 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (Coq__Init__Logic.not A) cupicef.I + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H43 A B H H0 H1 H2)))) + H). + +def let__H44 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + __0 : (__0 : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + H4 H5). + +def let__H47 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : cupicef.Term cupicef.prop A -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H4 H3. + +def let__H46 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + (H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H3) + (y : cupicef.Term cupicef.prop B => + let__H44 A B H H0 H1 H2 H3 (x : cupicef.Term cupicef.prop A => y)). + +def let__H45 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + let__H44 A B H H0 H1 H2 H3 (let__H46 A B H H0 H1 H2 H3). + +def let__H50 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H6 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H6 : cupicef.Term cupicef.prop B => + H5 H2. + +def let__H49 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H6 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind A (let__H50 A B H H0 H1 H2 H3 H4 H5 H6)) + (y : cupicef.Term cupicef.prop A => + H4 (x : cupicef.Term cupicef.prop B => y)). + +def let__H48 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 (let__H49 A B H H0 H1 H2 H3 H4). + +def let__H51 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + __ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + __0 : (__0 : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + H4 H5). + +def let__H52 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H4 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : cupicef.Term cupicef.prop B => + H3 H4. + +def let__H53 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + __0 : (__0 : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + H4 H5). + +def let__H56 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : cupicef.Term cupicef.prop A -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H4 H3. + +def let__H57 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H2 H5. + +def let__H55 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + (H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H57 A B H H0 H1 H2 H3 H4 H5)) + (y : cupicef.Term cupicef.prop B => + let__H53 A B H H0 H1 H2 H3 (x : cupicef.Term cupicef.prop A => y)). + +def let__H54 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + let__H53 A B H H0 H1 H2 H3 (let__H55 A B H H0 H1 H2 H3). + +def let__H58 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop B -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop B => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H2 H5. + +def let__H59 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + __ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + __0 : (__0 : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H5 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 + (Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + H4 H5). + +def let__H62 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + H2 H5. + +def let__H61 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + (H4 : + (y : cupicef.Term cupicef.prop B -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H62 A B H H0 H1 H2 H3 H4 H5)) + (y : cupicef.Term cupicef.prop B => + let__H59 A B H H0 H1 H2 H3 (x : cupicef.Term cupicef.prop A => y)). + +def let__H60 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + __ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + let__H59 A B H H0 H1 H2 H3 (let__H61 A B H H0 H1 H2 H3). + +def let__H65 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H6 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H6 : cupicef.Term cupicef.prop B => + H3 H6. + +def let__H64 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H5 : + (y : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H6 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind A (let__H65 A B H H0 H1 H2 H3 H4 H5 H6)) + (y : cupicef.Term cupicef.prop A => + H4 (x : cupicef.Term cupicef.prop B => y)). + +def let__H63 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H4 : + (__ : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 (let__H64 A B H H0 H1 H2 H3 H4). + +thm not__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + __0 : cupicef.Term cupicef.prop (decidable B) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (decidable B) + (__0 : cupicef.Term cupicef.prop (decidable B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) + (__1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B))))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not (Coq__Init__Logic.iff A B)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + (H3 : cupicef.Term cupicef.prop B => + (H4 : + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H5 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + H5) + (let__H48 A B H H0 H1 H2 H3 H4)) + (let__H45 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B) + (Coq__Init__Logic.conj A (Coq__Init__Logic.not B) H2 + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (H4 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not B) cupicef.I + (H4 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H52 A B H H0 H1 H2 H3 H4))))) + H0) + (H2 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + (H3 : cupicef.Term cupicef.prop B => + (H4 : + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B) + (Coq__Init__Logic.conj (Coq__Init__Logic.not A) B + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (H5 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not A) cupicef.I + (H5 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H58 A B H H0 H1 H2 H3 H4 H5))) + H3)) + (let__H54 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + (H4 : + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H5 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.or + (Coq__Init__Logic.and A (Coq__Init__Logic.not B)) + (Coq__Init__Logic.and (Coq__Init__Logic.not A) B)) + H5) + (let__H63 A B H H0 H1 H2 H3 H4)) + (let__H60 A B H H0 H1 H2 H3)) + H0) + H). + +def let__H67 : + H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.True + +:= H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.I. + +def let__H66 : + H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H (let__H67 H). + +thm not__true__iff : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + Coq__Init__Logic.False) + +:= Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.True + (__0 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False))) + (H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H1 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H1) (let__H66 H)) + (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => + H0 : cupicef.Term cupicef.prop Coq__Init__Logic.True => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H). + +thm not__false__iff : + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + Coq__Init__Logic.True) + +:= Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.True)) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Coq__Init__Logic.True + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.True => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + Coq__Init__Logic.False + (__0 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False))) + (H : + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.I) + (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => + H0 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H0). + +def let__H68 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop A -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop A => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 H0. + +def let__H69 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 H0. + +def let__H70 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : cupicef.Term cupicef.prop A => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 H1. + +def let__H71 : + A : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : cupicef.Term cupicef.prop A => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 H1. + +thm not__not__iff : + A : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + A) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + A))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + A))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + A) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + A)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0) + (H1 : cupicef.Term cupicef.prop A => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H68 A H H0 H1 H2))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + A)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind A (let__H69 A H H0 H1)) + (H1 : cupicef.Term cupicef.prop A => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H71 A H H0 H1 H2))) + H). + +def let__H72 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H2 H0. + +def let__H73 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H1 H3. + +def let__H74 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H1 H0. + +def let__H75 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + let__H74 A B H H0 H1 H2 H2. + +def let__H76 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H1 H3. + +def let__H77 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H0 (let__H76 A B H H0 H1 H2 H3). + +def let__H78 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H2 (let__H76 A B H H0 H1 H2 H3). + +thm contrapositive : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__1 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__1 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__1 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H0) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H72 A B H H0 H1 H2 H3))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__1 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind A (let__H75 A B H H0 H1 H2)) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H78 A B H H0 H1 H2 H3))) + H). + +def let__H79 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H0. + +def let__H80 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H1 H0. + +def let__H81 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 H2. + +def let__H82 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H83 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H0 H2. + +def let__H84 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : cupicef.Term cupicef.prop A => + H0 H2. + +def let__H85 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : cupicef.Term cupicef.prop A => + H1 H2. + +thm or__not__l__iff__1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B B + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind B (let__H79 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => H3) H1) + (H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__intror + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B (let__H80 A B H H0 H1))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B B + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind B (let__H82 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind B (let__H83 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__introl + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H84 A B H H0 H1 H2)))) + H). + +def let__H86 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H87 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H88 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) -> + H2 : cupicef.Term cupicef.prop A -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H0 H3. + +def let__H89 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : cupicef.Term cupicef.prop A => + H1 H2. + +def let__H90 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H2 : cupicef.Term cupicef.prop A => + H0 (let__H89 A B H H0 H1 H2). + +thm or__not__l__iff__2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__ : cupicef.Term cupicef.prop (decidable B) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.iff + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B))) + (H0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B B + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind B (let__H86 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => H3) H1) + (H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__intror + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B H0)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + B) => + H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.or__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B B + (H3 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind B (let__H87 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind B (let__H88 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__introl + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + B + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H90 A B H H0 H1 H2)))) + H). + +def let__H91 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H92 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop A => + H0 H3. + +def let__H93 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H94 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : cupicef.Term cupicef.prop B => + H1 H2. + +def let__H95 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : cupicef.Term cupicef.prop B => + H0 (let__H94 A B H H0 H1 H2). + +thm or__not__r__iff__1 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A (H3 : cupicef.Term cupicef.prop A => H3) + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind A (let__H91 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or__introl A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + H0)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind A (let__H92 A B H H0 H1 H2 H3)) + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind A (let__H93 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or__intror A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H95 A B H H0 H1 H2)))) + H). + +def let__H96 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop B => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H0. + +def let__H97 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop B -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop B => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H1 H0. + +def let__H98 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : cupicef.Term cupicef.prop A => + H0 H2. + +def let__H99 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 H2. + +def let__H100 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 H2. + +def let__H101 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : cupicef.Term cupicef.prop B => + H0 H2. + +def let__H102 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) -> + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + H1 : (__ : cupicef.Term cupicef.prop B -> cupicef.Term cupicef.prop A) => + H2 : cupicef.Term cupicef.prop B => + H1 H2. + +thm or__not__r__iff__2 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable B) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable B) + (__ : cupicef.Term cupicef.prop (decidable B) => + Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A)))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or B (Coq__Init__Logic.not B)) => + Coq__Init__Logic.or__ind B (Coq__Init__Logic.not B) + (Coq__Init__Logic.iff + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A))) + (H0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A (H3 : cupicef.Term cupicef.prop A => H3) + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind A (let__H96 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or__introl A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (let__H97 A B H H0 H1))) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not B) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => A))) + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => A)) + (__ : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.or__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind A (let__H98 A B H H0 H1 H2 H3)) + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind A (let__H100 A B H H0 H1 H2 H3)) + H1) + (H1 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop A) => + Coq__Init__Logic.or__intror A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H101 A B H H0 H1 H2)))) + H). + +def let__H103 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H2 H0. + +def let__H104 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H2 H0. + +def let__H105 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) => + H1 H0. + +def let__H106 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H0 H3. + +def let__H107 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H2 H3. + +thm imp__not__l : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (Coq__Init__Logic.or A B)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (Coq__Init__Logic.or A B))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (Coq__Init__Logic.or A B))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (Coq__Init__Logic.or A B)) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or A B)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__introl A B H0) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.or__ind A B B + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H103 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind B (let__H104 A B H H0 H1 H2 H3)) + H1)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or A B)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I (Coq__Init__Logic.or A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + B))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.or__intror A B (let__H105 A B H H0 H1)) + (H1 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.or__ind A B B + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H107 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => H3) H1)) + H). + +def let__H108 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop A => + H (Coq__Init__Logic.or__introl A B H0). + +def let__H109 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 : cupicef.Term cupicef.prop B => + H (Coq__Init__Logic.or__intror A B H1). + +def let__H110 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop A => + let__H108 A B H H2. + +def let__H111 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + let__H109 A B H H2. + +def let__H112 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H1 H3. + +def let__H113 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop B => + H2 H3. + +thm not__or__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A B) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.False))) + (H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + (H2 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H110 A B H H2)) + (H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H111 A B H H2))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or A B) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + Coq__Init__Logic.False + (H1 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.or__ind A B Coq__Init__Logic.False + (H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H112 A B H H0 H1 H2 H3)) + (H3 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H113 A B H H0 H1 H2 H3)) + H0) + H). + +def let__H114 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + H2 : cupicef.Term cupicef.prop A => + H3 : cupicef.Term cupicef.prop B => + H (Coq__Init__Logic.conj A B H2 H3). + +def let__H115 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + let__H114 A B H H0 H1 H0. + +def let__H116 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + let__H115 A B H H0 H1 H1. + +def let__H117 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + H H1. + +def let__H118 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + H1 : cupicef.Term cupicef.prop A -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + let__H117 A B H H0 H1 H2 H2. + +thm not__and__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False)) + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + Coq__Init__Logic.conj + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False)) + (__ : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (__0 : cupicef.Term cupicef.prop A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__1 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + (cupicef.prod + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (__ : cupicef.Term cupicef.prop A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) + (__ : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.and A B) + (__0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.False))) + (H : + (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop A => + H1 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H116 A B H H0 H1)) + (H : + (__ : cupicef.Term cupicef.prop A -> + __0 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.and A B) => + Coq__Init__Logic.and__ind A B Coq__Init__Logic.False + (H1 : cupicef.Term cupicef.prop A => + H2 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H118 A B H H0 H1 H2)) + H0). + +def let__H121 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H120 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H121 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H119 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H1 (let__H120 A B H H0 H1 H2). + +def let__H122 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : cupicef.Term cupicef.prop A -> + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 H0. + +def let__H123 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : cupicef.Term cupicef.prop A -> + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 (let__H122 A B H H0 H1 H2 H3 H4). + +def let__H126 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H0 H3. + +def let__H125 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H126 A B H H0 H1 H2 H3)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H124 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 (let__H125 A B H H0 H1). + +def let__H129 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H130 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H0 H4. + +def let__H128 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H130 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H127 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H1 (let__H128 A B H H0 H1 H2). + +def let__H131 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : cupicef.Term cupicef.prop A -> + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H0 H3. + +def let__H132 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : cupicef.Term cupicef.prop A -> + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 H3. + +def let__H133 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : cupicef.Term cupicef.prop A -> + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False))) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 (let__H132 A B H H0 H1 H2 H3 H4). + +thm not__imp__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)))) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + H0 + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H119 A B H H0 H1 H2))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.and__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + Coq__Init__Logic.False + (H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H123 A B H H0 H1 H2 H3 H4)) + H1)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)))) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + ((H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind A H2) (let__H124 A B H H0 H1)) + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H127 A B H H0 H1 H2))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False))) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.and__ind A + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + Coq__Init__Logic.False + (H3 : cupicef.Term cupicef.prop A => + H4 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H133 A B H H0 H1 H2 H3 H4)) + H1)) + H). + +def let__H136 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H135 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H136 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H134 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H1 (let__H135 A B H H0 H1 H2). + +def let__H137 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H2 H0. + +def let__H138 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop A -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop A => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 (let__H137 A B H H0 H1 H2 H3 H4). + +def let__H141 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 H2. + +def let__H142 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H0 H4. + +def let__H140 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + (H3 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H142 A B H H0 H1 H2 H3 H4)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H139 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : cupicef.Term cupicef.prop B => + H1 (let__H140 A B H H0 H1 H2). + +def let__H145 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H3 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + H0 H3. + +def let__H144 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + __ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + (H2 : + (y : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H3 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind B (let__H145 A B H H0 H1 H2 H3)) + (y : cupicef.Term cupicef.prop B => + H1 (x : cupicef.Term cupicef.prop A => y)). + +def let__H143 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + (__ : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H1 (let__H144 A B H H0 H1). + +def let__H146 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H0 H4. + +def let__H147 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H2 H4. + +def let__H148 : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) -> + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) -> + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) -> + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) -> + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) -> + H4 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop Coq__Init__Logic.False + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A) => + H2 : (__ : cupicef.Term cupicef.prop A -> cupicef.Term cupicef.prop B) => + H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + H3 (let__H147 A B H H0 H1 H2 H3 H4). + +thm not__imp__rev__iff : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + __ : cupicef.Term cupicef.prop (decidable A) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A)) + +:= cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (A : cupicef.Univ cupicef.prop => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (decidable A) + (__ : cupicef.Term cupicef.prop (decidable A) => + Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A))))) + cupicef.I + (A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or A (Coq__Init__Logic.not A)) => + Coq__Init__Logic.or__ind A (Coq__Init__Logic.not A) + (Coq__Init__Logic.iff + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A)) + (H0 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H134 A B H H0 H1 H2)) + H0) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A Coq__Init__Logic.False + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H138 A B H H0 H1 H2 H3 H4)) + H1)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.not A) => + Coq__Init__Logic.conj + (cupicef.prod + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B)) + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False)) + (__ : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__0 : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A)) + (cupicef.prod cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) => + cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__0 : cupicef.Term cupicef.prop A => B)) + (__0 : + (__0 : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.False))) + (H1 : + (__ : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A + (H2 : cupicef.Term cupicef.prop B => + (H3 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind Coq__Init__Logic.False H3) + (let__H139 A B H H0 H1 H2)) + ((H2 : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.False__ind A H2) (let__H143 A B H H0 H1))) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => + Coq__Init__Logic.False)) + A) => + H2 : + (__ : cupicef.Term cupicef.prop A -> + cupicef.Term cupicef.prop B) => + Coq__Init__Logic.and__ind + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I B + (__ : cupicef.Term cupicef.prop B => Coq__Init__Logic.False)) + A Coq__Init__Logic.False + (H3 : + (__ : cupicef.Term cupicef.prop B -> + cupicef.Term cupicef.prop Coq__Init__Logic.False) => + H4 : cupicef.Term cupicef.prop A => + Coq__Init__Logic.False__ind Coq__Init__Logic.False + (let__H148 A B H H0 H1 H2 H3 H4)) + H1)) + H). + +def let__e : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) -> + Hdec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) -> + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => A x y0))) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) => + Hdec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) => + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + H x. + +def let__d : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) -> + Hdec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) -> + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => A x y0) + y_27_) -> + Hex : cupicef.Term cupicef.prop (A x y_27_) -> + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + __ : cupicef.Term cupicef.prop (A x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ x_27_)) -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_)) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) => + Hdec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) => + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => A x y0) + y_27_) => + Hex : cupicef.Term cupicef.prop (A x y_27_) => + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + __ : cupicef.Term cupicef.prop (A x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ x_27_)) => + Hdec y y_27_. + +thm dec__functional__relation : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) -> + __ : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) -> + __0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop (decidable (A x y)) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Y : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + A : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Univ cupicef.prop) => + Hdec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) => + H : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + Coq__Init__Logic.match____ex cupicef.prop Y + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => A x y0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.ex Y + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y0))) => + decidable (A x y)) + (y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.unique Y + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y0) + y_27_) => + Coq__Init__Logic.match____and cupicef.prop + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => A x y0) + y_27_) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Y + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y0) x_27_) + (__ : + cupicef.Term cupicef.prop + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + A x y0) x_27_) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ x_27_))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and (A x y_27_) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I Y + (x_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (A x x_27_) + (__ : cupicef.Term cupicef.prop (A x x_27_) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ x_27_)))) => + decidable (A x y)) + (Hex : cupicef.Term cupicef.prop (A x y_27_) => + Huniq : + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + __ : cupicef.Term cupicef.prop (A x x_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ x_27_)) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_))) => + decidable (A x y)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_) => + Coq__Init__Logic.eq__ind__r Y y_27_ + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y => + decidable (A x y0)) + (Coq__Init__Logic.or__introl (A x y_27_) + (Coq__Init__Logic.not (A x y_27_)) Hex) + y H1) + (Hnot : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y y_27_)) => + Coq__Init__Logic.or__intror (A x y) + (Coq__Init__Logic.not (A x y)) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (A x y) + (H1 : cupicef.Term cupicef.prop (A x y) => + Coq__Init__Logic.False)) + (Coq__Init__Logic.not (A x y)) cupicef.I + (H1 : cupicef.Term cupicef.prop (A x y) => + (H2 : + (__ : cupicef.Term cupicef.prop (A x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y_27_)) => + (H3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y_27_) => + (H4 : + (y_27_0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) Y -> + cupicef.Term cupicef.prop + (decidable + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y_27_0))) => + (H5 : + (__ : cupicef.Term cupicef.prop (A x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y)) => + (H6 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y) => + Hnot + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Y) + y_27_ y H6)) + (H5 H1)) + (Huniq y)) + (Hdec y_27_)) + (H2 Hex)) + (Huniq y_27_)))) + (let__d X Y A Hdec H x y y_27_ H0 Hex Huniq)) + H0) + (let__e X Y A Hdec H x y). + +(; End of translation. ;) diff --git a/out/Coq__Logic__EqdepFacts.dk b/out/Coq__Logic__EqdepFacts.dk new file mode 100644 index 000000000..ae6136ea7 --- /dev/null +++ b/out/Coq__Logic__EqdepFacts.dk @@ -0,0 +1,12316 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.prop. + +def eq__dep__intro : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + cupicef.Term cupicef.prop (eq__dep U P p x p x). + +[ ] cupicef.code_guarded? _ (eq__dep__intro _ _ _ _) --> cupicef.guarded. + +def match____eq__dep : + s : cupicef.Sort -> + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Term cupicef.prop (eq__dep U P p x q __) -> + cupicef.Univ s) -> + case__eq__dep__intro : cupicef.Term s (P0 p x (eq__dep__intro U P p x)) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + x0 : cupicef.Term cupicef.prop (eq__dep U P p x q __) -> + cupicef.Term s (P0 q __ x0). + +[ s, U, P, p, x, P0, case__eq__dep__intro] + match____eq__dep s U P p x P0 case__eq__dep__intro {p} {x} + (eq__dep__intro U P p x) + --> + case__eq__dep__intro. + +[ s, U, P, p, x, P0, s'] + match____eq__dep s U P p x + (q => + __ => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 q __ x))) + --> + match____eq__dep s' U P p x (q => __ => x => P0 q __ x). + +def eq__dep__rect : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 p x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + e : cupicef.Term cupicef.prop (eq__dep U P p x q p0) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 q p0) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P0 p x) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + e : cupicef.Term cupicef.prop (eq__dep U P p x q p0) => + match____eq__dep (cupicef.type (cupicef.s cupicef.z)) U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 p1) => + P0 q0 p1) + f q p0 e. + +def eq__dep__ind : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P0 p x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + e : cupicef.Term cupicef.prop (eq__dep U P p x q p0) -> + cupicef.Term cupicef.prop (P0 q p0) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P0 p x) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + e : cupicef.Term cupicef.prop (eq__dep U P p x q p0) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 p1) => + P0 q0 p1) + f q p0 e. + +def eq__dep__rec : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P0 p x) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + e : cupicef.Term cupicef.prop (eq__dep U P p x q p0) -> + cupicef.Term cupicef.set (P0 q p0) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + P0 : + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.set) => + eq__dep__rect U P p x + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I (P q) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I U + (q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I (P q) + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I P0). + +thm eq__dep__refl : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + cupicef.Term cupicef.prop (eq__dep U P p x p x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + eq__dep__intro U P. + +thm eq__dep__sym : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + cupicef.Term cupicef.prop (eq__dep U P q y p x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 p0) => + eq__dep U P q0 p0 p x) + (eq__dep__intro U P p x) q y H. + +thm eq__dep__trans : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + r : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P r) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + __0 : cupicef.Term cupicef.prop (eq__dep U P q y r z) -> + cupicef.Term cupicef.prop (eq__dep U P p x r z) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + r : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P r) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 p0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__dep U P q0 p0 r z) + (__0 : cupicef.Term cupicef.prop (eq__dep U P q0 p0 r z) => + eq__dep U P p x r z)) + (H0 : cupicef.Term cupicef.prop (eq__dep U P p x r z) => H0) q y H. + +def eq__indd : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (a : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x a) -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P x (Coq__Init__Logic.eq__refl A x)) -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) -> + cupicef.Term cupicef.prop (P y e) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (a : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x a) -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P x (Coq__Init__Logic.eq__refl A x)) => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + Coq__Init__Logic.match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + e0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y0) => + P y0 e0) + f y e. + +def eq__dep1 : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Univ cupicef.prop. + +def eq__dep1__intro : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term cupicef.prop (eq__dep1 U P p x q y). + +[ ] cupicef.code_guarded? _ (eq__dep1__intro _ _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____eq__dep1 : + s : cupicef.Sort -> + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + P0 : (cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> cupicef.Univ s) -> + case__eq__dep1__intro : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term s (P0 (eq__dep1__intro U P p x q y h __))) -> + x0 : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> + cupicef.Term s (P0 x0). + +[ s, U, P, p, x, q, y, P0, case__eq__dep1__intro, h, __] + match____eq__dep1 s U P p x q y P0 case__eq__dep1__intro + (eq__dep1__intro U P p x q y h __) + --> + case__eq__dep1__intro h __. + +[ s, U, P, p, x, q, y, P0, s'] + match____eq__dep1 s U P p x q y + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 x))) + --> + match____eq__dep1 s' U P p x q y (x => P0 x). + +def eq__dep1__rect : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + P0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P0) -> + e : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P0 + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + P0 : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P0) => + e : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => + match____eq__dep1 (cupicef.type (cupicef.s cupicef.z)) U P p x q y + (__ : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => P0) f e. + +def eq__dep1__ind : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + P0 : cupicef.Univ cupicef.prop -> + f : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term cupicef.prop P0) -> + e : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> + cupicef.Term cupicef.prop P0 + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + P0 : cupicef.Univ cupicef.prop => + f : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term cupicef.prop P0) => + e : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => + match____eq__dep1 cupicef.prop U P p x q y + (__ : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => P0) f e. + +def eq__dep1__rec : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + P0 : cupicef.Univ cupicef.set -> + f : + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p h)) -> + cupicef.Term cupicef.set P0) -> + e : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> + cupicef.Term cupicef.set P0 + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + P0 : cupicef.Univ cupicef.set => + eq__dep1__rect U P p x q y + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P0). + +thm eq__dep1__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + __ : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) -> + cupicef.Term cupicef.prop (eq__dep U P p x q y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => + match____eq__dep1 cupicef.prop U P p x q y + (__ : cupicef.Term cupicef.prop (eq__dep1 U P p x q y) => + eq__dep U P p x q y) + (eq__qp : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p eq__qp)) => + eq__indd + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + eq__qp0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q p0) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P p0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p0)) + x0 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p0 eq__qp0)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p0)) + x0 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y p0 eq__qp0)) => + eq__dep U P p0 x0 q y))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P q)) + x0 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y q + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q))) => + Coq__Init__Logic.eq__ind__r (P q) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q P y q + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + q)) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + eq__dep U P q x1 q y) + (eq__dep__intro U P q y) x0 H1) + p eq__qp x H0) + H. + +thm eq__dep__dep1 : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + cupicef.Term cupicef.prop (eq__dep1 U P p x q y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 p0) => + eq__dep1 U P p x q0 p0) + (eq__dep1__intro U P p x p x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x x) + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p))) + cupicef.I + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x))) + q y H. + +def let__H0 : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) (Coq__Init__Specif.existT U P q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) => + H. + +thm eq__sigT__eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) -> + cupicef.Term cupicef.prop (eq__dep U P p x q y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P q y) + (s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P) => + eq__dep U P (Coq__Init__Specif.projT1 U P s) + (Coq__Init__Specif.projT2 U P s) q y) + (eq__dep__intro U P q y) (Coq__Init__Specif.existT U P p x) + (let__H0 U P p q x y H). + +thm eq__dep__eq__sigT : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) (Coq__Init__Specif.existT U P q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 y0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q0 y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x)) + q y H. + +thm eq__sigT__iff__eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) + (eq__dep U P p x q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) => + eq__dep U P p x q y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__dep U P p x q y) + (__ : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P q y)) => + eq__sigT__eq__dep U P p q x y H) + (H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + eq__dep__eq__sigT U P p q x y H). + +def let__H1 : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term cupicef.prop (P p) -> + y : cupicef.Term cupicef.prop (P q) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term cupicef.prop (P p) => + y : cupicef.Term cupicef.prop (P q) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) => + H. + +thm eq__sig__eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term cupicef.prop (P p) -> + y : cupicef.Term cupicef.prop (P q) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) -> + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term cupicef.prop (P p) => + y : cupicef.Term cupicef.prop (P q) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) => + Coq__Init__Logic.eq__ind__r + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P) + (Coq__Init__Specif.exist U P q y) + (s : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P) => + eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + (Coq__Init__Specif.proj1__sig U P s) + (Coq__Init__Specif.proj2__sig U P s) q y) + (eq__dep__intro U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + q y) + (Coq__Init__Specif.exist U P p x) (let__H1 U P p q x y H). + +thm eq__dep__eq__sig : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term cupicef.prop (P p) -> + y : cupicef.Term cupicef.prop (P q) -> + __ : + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term cupicef.prop (P p) => + y : cupicef.Term cupicef.prop (P q) => + H : + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) => + match____eq__dep cupicef.prop U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P) + p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y0 : cupicef.Term cupicef.prop (P q0) => + __ : + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q0 y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q0 y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x)) + q y H. + +thm eq__sig__iff__eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term cupicef.prop (P p) -> + y : cupicef.Term cupicef.prop (P q) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) (Coq__Init__Specif.exist U P q y)) + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term cupicef.prop (P p) => + y : cupicef.Term cupicef.prop (P q) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) + (Coq__Init__Specif.exist U P q y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) + (Coq__Init__Specif.exist U P q y)) => + eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) + (__ : + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.exist U P p x) + (Coq__Init__Specif.exist U P q y))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) U + P)) + (Coq__Init__Specif.exist U P p x) + (Coq__Init__Specif.exist U P q y)) => + eq__sig__eq__dep U P p q x y H) + (H : + cupicef.Term cupicef.prop + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + p x q y) => + eq__dep__eq__sig U P p q x y H). + +def internal__eq__sym__internal : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) -> + cupicef.Term cupicef.prop (Coq__Init__Logic.eq A y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + Coq__Init__Logic.match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y0) => + Coq__Init__Logic.eq A y0 x) + (Coq__Init__Logic.eq__refl A x) y H. + +def internal__eq__sym__involutive : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.eq A x y)) + (internal__eq__sym__internal A y x + (internal__eq__sym__internal A x y H)) + H) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + Coq__Init__Logic.match____eq cupicef.prop A x + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.eq A x y0)) + (internal__eq__sym__internal A y0 x + (internal__eq__sym__internal A x y0 H0)) + H0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.eq A x x)) + (Coq__Init__Logic.eq__refl A x)) + y H. + +def internal__eq__rew__r__dep : + A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + P : + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A y0 y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + HC : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P y (Coq__Init__Logic.eq__refl A y)) -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x H) + +:= A : cupicef.Univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + y : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + P : + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A -> + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A y0 y) -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + HC : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (P y (Coq__Init__Logic.eq__refl A y)) => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + Coq__Init__Logic.match____eq (cupicef.type (cupicef.s cupicef.z)) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.eq A x y)) + (internal__eq__sym__internal A y x (internal__eq__sym__internal A x y H)) + (H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A x y) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.eq A x y)) + (internal__eq__sym__internal A y x + (internal__eq__sym__internal A x y H)) + H0) => + P x H0) + (Coq__Init__Logic.match____eq (cupicef.type (cupicef.s cupicef.z)) A y + (y0 : cupicef.Term (cupicef.type (cupicef.s (cupicef.s cupicef.z))) A => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.eq A y y0) => + P y0 (internal__eq__sym__internal A y y0 H0)) + HC x (internal__eq__sym__internal A x y H)) + H (internal__eq__sym__involutive A x y H). + +def let__s : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Specif.existT X P x2 H2. + +def eq__sigT__sig__eq : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H) + H2))) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H) + H2))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H) + H2)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H) + H2)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2))) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) y) => + Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.projT1 X P y)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.projT1 X P y)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P (Coq__Init__Specif.projT1 X P y))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 (Coq__Init__Specif.projT1 X P y) H0) + (Coq__Init__Specif.projT2 X P y))) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x1) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x1 H0) + H1)) + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1))) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1)) + H0) + (Coq__Init__Specif.projT2 X P + (Coq__Init__Specif.existT X P x1 H1)))) + cupicef.I + (Coq__Init__Specif.exist + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x1)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x1) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x1)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x1 H0) + H1) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x1)) + H1))) + (Coq__Init__Specif.existT X P x2 H2) H) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H) + H2)) => + Coq__Init__Specif.match____sig cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H0) + H2) + (s : + cupicef.Term cupicef.prop + (Coq__Init__Specif.sig cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 H0) + H2)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) + (x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) => + internal__eq__rew__r__dep + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I X + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x3 x2) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x3 x2) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))))) + cupicef.I X + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.prod cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.prop + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + y x2) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + y x2) => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I))) + cupicef.I + (x3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x3 x2) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P x3) + (H3 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x3) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x3 P H3 x2 x0) + H2) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x3 P H3 x2 x0) + H2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x3 H3) + (Coq__Init__Specif.existT X P x2 H2))))) + (H3 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2 P H3 x2 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2)) + H2) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2 P H3 x2 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2)) + (H4 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x2 H3) + (Coq__Init__Specif.existT X P x2 H4)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x2 + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2 P H3 x2 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x2)))) + H2 e) + x H1) + H). + +def let__s0 : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Specif.existT X P x2 H2. + +def eq__sigT__fst : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.projT1 X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.projT1 X P (Coq__Init__Specif.existT X P x1 H1))) + (Coq__Init__Specif.existT X P x2 H2) H. + +def let__s1 : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) -> + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + Coq__Init__Specif.existT X P x2 H2. + +def eq__sigT__snd : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) -> + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 (eq__sigT__fst X P x1 x2 H1 H2 H)) + H2) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x1) => + H2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (Coq__Init__Specif.existT X P x2 H2)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x2 H2)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 + (Coq__Init__Specif.projT1 X P (Coq__Init__Specif.existT X P x2 H2)) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.projT1 X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1))) + (Coq__Init__Specif.existT X P x2 H2) H)) + (Coq__Init__Specif.projT2 X P (Coq__Init__Specif.existT X P x2 H2))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 x2 (eq__sigT__fst X P x1 x2 H1 H2 H)) + H2) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (y : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P (Coq__Init__Specif.projT1 X P y))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 P H1 (Coq__Init__Specif.projT1 X P y) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) + (y0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.existT X P x1 H1) y0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.projT1 X P y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1))) + y e)) + (Coq__Init__Specif.projT2 X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (Coq__Init__Specif.projT1 X P + (Coq__Init__Specif.existT X P x1 H1)))) + (Coq__Init__Specif.projT2 X P (Coq__Init__Specif.existT X P x1 H1))) + (Coq__Init__Specif.existT X P x2 H2) H). + +def let__s2 : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term cupicef.prop (P x1) -> + H2 : cupicef.Term cupicef.prop (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term cupicef.prop (P x1) => + H2 : cupicef.Term cupicef.prop (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) => + Coq__Init__Specif.exist X P x2 H2. + +def eq__sig__fst : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term cupicef.prop (P x1) -> + H2 : cupicef.Term cupicef.prop (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 x2) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term cupicef.prop (P x1) => + H2 : cupicef.Term cupicef.prop (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X + P)) + (Coq__Init__Specif.exist X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.proj1__sig X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.proj1__sig X P (Coq__Init__Specif.exist X P x1 H1))) + (Coq__Init__Specif.exist X P x2 H2) H. + +def let__s3 : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term cupicef.prop (P x1) -> + H2 : cupicef.Term cupicef.prop (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term cupicef.prop (P x1) => + H2 : cupicef.Term cupicef.prop (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) => + Coq__Init__Specif.exist X P x2 H2. + +def eq__sig__snd : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + H1 : cupicef.Term cupicef.prop (P x1) -> + H2 : cupicef.Term cupicef.prop (P x2) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + H1 x2 (eq__sig__fst X P x1 x2 H1 H2 H)) + H2) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + cupicef.Univ cupicef.prop) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + x2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + H1 : cupicef.Term cupicef.prop (P x1) => + H2 : cupicef.Term cupicef.prop (P x2) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (Coq__Init__Specif.exist X P x2 H2)) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (Coq__Init__Specif.proj1__sig X P + (Coq__Init__Specif.exist X P x2 H2)))) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + H1 + (Coq__Init__Specif.proj1__sig X P + (Coq__Init__Specif.exist X P x2 H2)) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) + X P)) + (Coq__Init__Specif.exist X P x1 H1) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.proj1__sig X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.proj1__sig X P + (Coq__Init__Specif.exist X P x1 H1))) + (Coq__Init__Specif.exist X P x2 H2) H)) + (Coq__Init__Specif.proj2__sig X P (Coq__Init__Specif.exist X P x2 H2))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x2)) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + H1 x2 (eq__sig__fst X P x1 x2 H1 H2 H)) + H2) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig (cupicef.type (cupicef.s cupicef.z)) X P) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P (Coq__Init__Specif.proj1__sig X P y))) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I X + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + H1 (Coq__Init__Specif.proj1__sig X P y) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sig + (cupicef.type (cupicef.s cupicef.z)) X P)) + (Coq__Init__Specif.exist X P x1 H1) y0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x1 (Coq__Init__Specif.proj1__sig X P y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + (Coq__Init__Specif.proj1__sig X P + (Coq__Init__Specif.exist X P x1 H1))) + y e)) + (Coq__Init__Specif.proj2__sig X P y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (P + (Coq__Init__Specif.proj1__sig X P + (Coq__Init__Specif.exist X P x1 H1)))) + (Coq__Init__Specif.proj2__sig X P + (Coq__Init__Specif.exist X P x1 H1))) + (Coq__Init__Specif.exist X P x2 H2) H). + +def Eq__rect__eq__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p Q x p h)). + +def Eq__rect__eq : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + cupicef.I U + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (Q p) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) => + Eq__rect__eq__on U p Q x))). + +def Eq__dep__eq__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__dep U P p x p y) + (__ : cupicef.Term cupicef.prop (eq__dep U P p x p y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y)). + +def Eq__dep__eq : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I U + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P p) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + Eq__dep__eq__on U P p x))). + +def UIP__on__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) + (p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y)) + p1 p2). + +def UIP__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I U + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I U + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) + (p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) => + UIP__on__ U x y p1))). + +def UIP__refl__on__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x)) + p + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)). + +def UIP__refl__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I U + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + UIP__refl__on__ U x). + +def Streicher__K__on__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) + (__ : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + P p)). + +def Streicher__K__ : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop)) + cupicef.I U + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.rule + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) => + Streicher__K__on__ U x P)). + +thm eq__rect__eq__on____eq__dep1__eq__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __ : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P y) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __0 : cupicef.Term cupicef.prop (eq__dep1 U P p x p y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P y) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + H : cupicef.Term cupicef.prop (eq__dep1 U P p x p y) => + match____eq__dep1 cupicef.prop U P p x p y + (__ : cupicef.Term cupicef.prop (eq__dep1 U P p x p y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + y + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x p0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x p0) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) => + H0) + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P y p h) + (eq__rect__eq h)) + H. + +thm eq__rect__eq____eq__dep1__eq : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (Eq__rect__eq U) -> + P : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __0 : cupicef.Term cupicef.prop (eq__dep1 U P p x p y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq U) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__rect__eq__on____eq__dep1__eq__on U p P x (eq__rect__eq p P x) y. + +def let__H : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P x) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + H : cupicef.Term cupicef.prop (eq__dep U P p x p y) -> + cupicef.Term cupicef.prop (eq__dep U P p y p x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P x) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + H : cupicef.Term cupicef.prop (eq__dep U P p x p y) => + eq__dep__sym U P p p x y H. + +thm eq__rect__eq__on____eq__dep__eq__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __ : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P x) -> + cupicef.Term cupicef.prop (Eq__dep__eq__on U P p x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq__on U p P x) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (eq__dep U P p x p y) + (H : cupicef.Term cupicef.prop (eq__dep U P p x p y) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y))) + (Eq__dep__eq__on U P p x) cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + H : cupicef.Term cupicef.prop (eq__dep U P p x p y) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + y x + (eq__rect__eq__on____eq__dep1__eq__on U p P x eq__rect__eq y + (eq__dep__dep1 U P p p y x (let__H U p P x eq__rect__eq y H)))). + +thm eq__rect__eq____eq__dep__eq : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (Eq__rect__eq U) -> + cupicef.Term cupicef.prop (Eq__dep__eq U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__rect__eq : cupicef.Term cupicef.prop (Eq__rect__eq U) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__rect__eq__on____eq__dep__eq__on U p P x (eq__rect__eq p P x) y. + +thm eq__dep__eq__on____UIP__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) -> + __ : + cupicef.Term cupicef.prop + (Eq__dep__eq__on U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) -> + cupicef.Term cupicef.prop (UIP__on__ U x y p1) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) => + eq__dep__eq : + cupicef.Term cupicef.prop + (Eq__dep__eq__on U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) => + cupicef.cast cupicef.prop cupicef.prop + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) + (p3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + p2 p3)) + y p1) + (UIP__on__ U x y p1) cupicef.I + (eq__indd + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) + (p3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + p2 p3)) + (p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + eq__dep__eq p2 + (eq__indd + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x + (eq__dep U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) + (eq__dep__intro U + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (y0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) + x p2)) + y p1). + +thm eq__dep__eq____UIP : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (Eq__dep__eq U) -> + cupicef.Term cupicef.prop (UIP__ U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dep__eq : cupicef.Term cupicef.prop (Eq__dep__eq U) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y) => + eq__dep__eq__on____UIP__on U x y p1 + (eq__dep__eq + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I U + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x y0)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)). + +thm UIP__on____UIP__refl__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : + cupicef.Term cupicef.prop + (UIP__on__ U x x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) -> + cupicef.Term cupicef.prop (UIP__refl__on__ U x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + UIP : + cupicef.Term cupicef.prop + (UIP__on__ U x x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x)) + p + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x))) + (UIP__refl__on__ U x) cupicef.I + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x) + p (UIP p)). + +thm UIP____UIP__refl : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (UIP__ U) -> + cupicef.Term cupicef.prop (UIP__refl__ U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + UIP : cupicef.Term cupicef.prop (UIP__ U) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + UIP__on____UIP__refl__on U x + (UIP x x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) + p. + +thm UIP__refl__on____Streicher__K__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (UIP__refl__on__ U x) -> + cupicef.Term cupicef.prop (Streicher__K__on__ U x P) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ U x) => + cupicef.cast + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) + (H : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) + (p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + P p))) + (Streicher__K__on__ U x P) cupicef.I + (H : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x) + P H p (UIP__refl p)). + +thm UIP__refl____Streicher__K : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (UIP__refl__ U) -> + cupicef.Term cupicef.prop (Streicher__K__ U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__ U) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x) -> + cupicef.Univ cupicef.prop) => + UIP__refl__on____Streicher__K__on U x P (UIP__refl x). + +thm Streicher__K__on____eq__rect__eq__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __ : + cupicef.Term cupicef.prop + (Streicher__K__on__ U p + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p h))) -> + cupicef.Term cupicef.prop (Eq__rect__eq__on U p P x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + Streicher__K : + cupicef.Term cupicef.prop + (Streicher__K__on__ U p + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p h))) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + (h0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p h0)) + h)) + (Eq__rect__eq__on U p P x) cupicef.I + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Streicher__K + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p))) + h). + +thm Streicher__K____eq__rect__eq : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (Streicher__K__ U) -> + cupicef.Term cupicef.prop (Eq__rect__eq U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Streicher__K : cupicef.Term cupicef.prop (Streicher__K__ U) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + Streicher__K__on____eq__rect__eq__on U p P x + (Streicher__K p + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p p) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + p P x p h))). + +def let__UIP : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) -> + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) -> + y_27_ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + y_27__27_ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y_27_ y_27__27_) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) => + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + y_27_ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + y_27__27_ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y_27_ + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y_27__27_ (UIP__refl y_27_) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y_27__27_ + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (UIP__refl y_27__27_)). + +def let__e : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) -> + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) => + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + let__UIP X x UIP__refl y z + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x). + +def let__e0 : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) -> + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) => + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + let__UIP X x UIP__refl y z + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x). + +thm UIP__shift__on : + X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X -> + __ : cupicef.Term cupicef.prop (UIP__refl__on__ X x) -> + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) -> + cupicef.Term cupicef.prop + (UIP__refl__on__ + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y) + +:= X : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__on__ X x) => + y : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + Coq__Init__Logic.eq__ind__r + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (y0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + UIP__refl__on__ + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0) + (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + (z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + z + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)))) + (UIP__refl__on__ + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + cupicef.I + (z : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + z + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (let__UIP X x UIP__refl y z + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + z) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (let__UIP X x UIP__refl y z + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (y0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0)) + e + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 y0 + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 + (let__UIP X x UIP__refl y z + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + e) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0 y0 (let__UIP X x UIP__refl y z y0 y0)))) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (y0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + e0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 y0 e0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0)) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 e0))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (let__e X x UIP__refl y z)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + z) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (y0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0) => + Coq__Init__Logic.match____eq + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) X => + y_27_ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x_27_) => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x_27_)) + y_27_ y_27_) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x_27_)) + y_27_ y_27_) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (z0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + z0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + x y0 + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0 y0 y0 + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 + (let__UIP X x UIP__refl y z y0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x)) + e) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0 y0 (let__UIP X x UIP__refl y z y0 y0)))) + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (y0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x) => + e0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 y0 e0 + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + y0)) + (Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + y0 e0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + (let__e0 X x UIP__refl y z)) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I X) + x) + z))) + y (UIP__refl y). + +thm UIP__shift : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (UIP__refl__ U) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Term cupicef.prop + (UIP__refl__ + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I U) + x x))) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + UIP__refl : cupicef.Term cupicef.prop (UIP__refl__ U) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + UIP__shift__on U x (UIP__refl x). + +def Inj__dep__pair__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P p y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P p y)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y)). + +def Inj__dep__pair : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ cupicef.prop + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + (P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop)) + cupicef.I U + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P p) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + Inj__dep__pair__on U P p x))). + +thm eq__dep__eq__on____inj__pair2__on : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __ : cupicef.Term cupicef.prop (Eq__dep__eq__on U P p x) -> + cupicef.Term cupicef.prop (Inj__dep__pair__on U P p x) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__dep__eq : cupicef.Term cupicef.prop (Eq__dep__eq__on U P p x) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P p) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P p y)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P p y)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y))) + (Inj__dep__pair__on U P p x) cupicef.I + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) U P)) + (Coq__Init__Specif.existT U P p x) + (Coq__Init__Specif.existT U P p y)) => + eq__dep__eq y (eq__sigT__eq__dep U P p p x y H)). + +thm eq__dep__eq____inj__pair2 : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : cupicef.Term cupicef.prop (Eq__dep__eq U) -> + cupicef.Term cupicef.prop (Inj__dep__pair U) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dep__eq : cupicef.Term cupicef.prop (Eq__dep__eq U) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + eq__dep__eq__on____inj__pair2__on U P p x (eq__dep__eq P p x). + +thm f__eq__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + R : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + f : + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p0) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (R p0)) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + cupicef.Term cupicef.prop (eq__dep U R p (f p x) q (f q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + R : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + f : + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p0) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (R p0)) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 y0) => + eq__dep U R p (f p x) q0 (f q0 y0)) + (eq__dep__intro U R p (f p x)) q y H. + +thm eq__dep__non__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P -> + __ : + cupicef.Term cupicef.prop + (eq__dep U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => P) p x + q y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + x y) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + H : + cupicef.Term cupicef.prop + (eq__dep U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => P) p x + q y) => + match____eq__dep cupicef.prop U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => P) p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) P => + __ : + cupicef.Term cupicef.prop + (eq__dep U + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => P) + p x q0 y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + x y0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + x) + q y H. + +thm f__eq__dep__non__dep : + U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + R : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) -> + f : + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p0) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) R) -> + __ : cupicef.Term cupicef.prop (eq__dep U P p x q y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I R) + (f p x) (f q y)) + +:= U : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + R : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + q : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q) => + f : + (p0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p0) -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) R) => + H : cupicef.Term cupicef.prop (eq__dep U P p x q y) => + match____eq__dep cupicef.prop U P p x + (q0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) U => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P q0) => + __ : cupicef.Term cupicef.prop (eq__dep U P p x q0 y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I R) + (f p x) (f q0 y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I R) + (f p x)) + q y H. + +(; End of translation. ;) diff --git a/out/Coq__Logic__Eqdep__dec.dk b/out/Coq__Logic__Eqdep__dec.dk new file mode 100644 index 000000000..804f10062 --- /dev/null +++ b/out/Coq__Logic__Eqdep__dec.dk @@ -0,0 +1,13414 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def let__comp : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y eq1. + +thm trans__sym__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y)) + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y0 eq1) + x y y u u) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 y0)) + (let__comp A x y0 y0 e e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y u. + +def let__comp0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y eq1. + +def let__nu : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y). + +def let__nu__inv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + let__comp0 A x x y + (let__nu A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + v. + +thm nu__left__inv__on : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y1) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y1 eq1) + x x y0 + ((y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y1) + (neqxy u0)) + (eq__dec y1)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + v) + y + ((y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + (neqxy u0)) + (eq__dec y0)) + y u)) + u) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (let__nu__inv A x eq__dec y0 (let__nu A x eq__dec y0 e)) e) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + ((x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y0) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y0 eq1) + x x x + (let__nu A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (let__nu A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (let__nu__inv A x eq__dec x + (let__nu A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + cupicef.I + (trans__sym__eq A x x + (let__nu A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + y u. + +def let__comp1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y eq1. + +def let__nu0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y). + +def let__o : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq__dec y. + +def let__nu__constant : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu0 A x eq__dec y u) (let__nu0 A x eq__dec y v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + (eq__dec y))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu0 A x eq__dec y u) (let__nu0 A x eq__dec y v)) + cupicef.I + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (o0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + o0) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + o0)) + (Heq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + Heq) + (Hneq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.match____False cupicef.prop + (f : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + f) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Hneq v))) + (Hneq u)) + (let__o A x eq__dec y u v)). + +def let__nu__inv0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + let__comp1 A x x y + (let__nu0 A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + v. + +thm eq__proofs__unicity__on : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + p1 p2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu__inv0 A x eq__dec y (let__nu0 A x eq__dec y p1)) + (p3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + p3 p2) + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu__inv0 A x eq__dec y (let__nu0 A x eq__dec y p2)) + (p3 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu__inv0 A x eq__dec y (let__nu0 A x eq__dec y p1)) p3) + (Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu0 A x eq__dec y p1) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu__inv0 A x eq__dec y (let__nu0 A x eq__dec y p1)) + (let__nu__inv0 A x eq__dec y e)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu__inv0 A x eq__dec y (let__nu0 A x eq__dec y p1))) + (let__nu0 A x eq__dec y p2) + (let__nu__constant A x eq__dec y p1 p2)) + p2 (nu__left__inv__on A x eq__dec y p2)) + p1 (nu__left__inv__on A x eq__dec y p1). + +def let__comp2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y eq1. + +def let__nu1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y). + +def let__o0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq__dec y. + +def let__nu__constant0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu1 A x eq__dec y u) (let__nu1 A x eq__dec y v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + (eq__dec y))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu1 A x eq__dec y u) (let__nu1 A x eq__dec y v)) + cupicef.I + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (o0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + o0) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + o0)) + (Heq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + Heq) + (Hneq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.match____False cupicef.prop + (f : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + f) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Hneq v))) + (Hneq u)) + (let__o0 A x eq__dec y u v)). + +def let__nu__inv1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + let__comp2 A x x y + (let__nu1 A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + v. + +thm K__dec__on : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Term cupicef.prop (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + P p0) + H p + (eq__proofs__unicity__on A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + p). + +def let__comp3 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y_27_) + eq2 y eq1. + +def let__nu2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y). + +def let__o1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eq__dec y. + +def let__nu__constant1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu2 A x eq__dec y u) (let__nu2 A x eq__dec y v)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + u : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + (eq__dec y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + (eq__dec y))) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (let__nu2 A x eq__dec y u) (let__nu2 A x eq__dec y v)) + cupicef.I + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (o0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy u)) + o0) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y))) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (eqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + eqxy) + (neqxy : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (neqxy v)) + o0)) + (Heq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + Heq) + (Hneq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) => + Coq__Init__Logic.match____False cupicef.prop + (f : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + f) + (Coq__Init__Logic.False__ind + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Hneq v))) + (Hneq u)) + (let__o1 A x eq__dec y u v)). + +def let__nu__inv2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + v : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + let__comp3 A x x y + (let__nu2 A x eq__dec x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + v. + +def let__proj : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + exP : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A P) -> + def__ : cupicef.Term cupicef.prop (P x) -> + cupicef.Term cupicef.prop (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + exP : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A P) => + def__ : cupicef.Term cupicef.prop (P x) => + Coq__Init__Logic.match____ex cupicef.prop A P + (exP0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A P) => P x) + (x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + prf : cupicef.Term cupicef.prop (P x_27_) => + Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x_27_ P prf x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_ eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)) => + def__) + (eq__dec x_27_)) + exP. + +def let__H0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + y : cupicef.Term cupicef.prop (P x) -> + y_27_ : cupicef.Term cupicef.prop (P x) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y) y) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y_27_) y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : cupicef.Term cupicef.prop (P x) => + y_27_ : cupicef.Term cupicef.prop (P x) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (y0 : cupicef.Term cupicef.prop (Coq__Init__Logic.ex A P) => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) y0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y) y) + (let__proj A x eq__dec P y0 y)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y) y)) + (Coq__Init__Logic.ex__intro A P x y_27_) H. + +def let__o2 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + y : cupicef.Term cupicef.prop (P x) -> + y_27_ : cupicef.Term cupicef.prop (P x) -> + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : cupicef.Term cupicef.prop (P x) => + y_27_ : cupicef.Term cupicef.prop (P x) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) => + eq__dec x. + +thm inj__right__pair__on : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + y : cupicef.Term cupicef.prop (P x) -> + y_27_ : cupicef.Term cupicef.prop (P x) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__dec : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + y : cupicef.Term cupicef.prop (P x) => + y_27_ : cupicef.Term cupicef.prop (P x) => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) => + cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + (eq__dec x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + (eq__dec x))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + (eq__dec x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + (eq__dec x))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y) y) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y_27_) + y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (let__proj A x eq__dec P (Coq__Init__Logic.ex__intro A P x y) + y) + (let__proj A x eq__dec P + (Coq__Init__Logic.ex__intro A P x y_27_) y)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_)) + cupicef.I + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (o0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + o0) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + o0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + o0) + (Coq__Init__Logic.match____or cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x))) => + P x) + (eqprf : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x eqprf)) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + y) + o0)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_)) + (Heq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + K__dec__on A x eq__dec + (Heq0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x Heq0)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x Heq0))) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x Heq0)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x Heq0))) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_)) + (H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + (Coq__Init__Logic.eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P y_27_ x + (Coq__Init__Logic.eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) => + H1) + Heq) + (Hneq : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y) => + Coq__Init__Logic.match____False cupicef.prop + (__ : cupicef.Term cupicef.prop Coq__Init__Logic.False => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_) + (Hneq + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + (let__o2 A x eq__dec P y y_27_ H)) + (let__H0 A x eq__dec P y y_27_ H). + +thm eq__proofs__unicity : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + p1 p2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + eq__proofs__unicity__on A x (eq__dec x). + +thm K__dec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Term cupicef.prop (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + K__dec__on A x (eq__dec x). + +thm inj__right__pair : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + y : cupicef.Term cupicef.prop (P x) -> + y_27_ : cupicef.Term cupicef.prop (P x) -> + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Coq__Init__Logic.ex A P)) + (Coq__Init__Logic.ex__intro A P x y) + (Coq__Init__Logic.ex__intro A P x y_27_)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + y y_27_) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + inj__right__pair__on A x (eq__dec x). + +thm K__dec__type : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) -> + __0 : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Term cupicef.prop (P p) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) => + H : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) => + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + K__dec A + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Specif.match____sumbool cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y)) + (s : + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y))) => + Coq__Init__Logic.or + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y))) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) => + Coq__Init__Logic.or__introl + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y)) + e) + (n : + cupicef.Term cupicef.prop + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y)) => + Coq__Init__Logic.or__intror + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y)) + n) + (eq__dec x0 y)) + x + (p0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) => + P p0) + H p. + +thm K__dec__set : + A : cupicef.Univ cupicef.set -> + __ : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term cupicef.set A -> + P : + (__0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Univ cupicef.prop) -> + __0 : + cupicef.Term cupicef.prop + (P + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) -> + p : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) -> + cupicef.Term cupicef.prop (P p) + +:= A : cupicef.Univ cupicef.set => + K__dec__type + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A). + +thm eq__rect__eq__dec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Q : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) -> + h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p p) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p Q x p h)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + Coq__Logic__EqdepFacts.Streicher__K____eq__rect__eq A + (K__dec__type A eq__dec). + +thm eq__dep__eq__dec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __0 : + cupicef.Term cupicef.prop (Coq__Logic__EqdepFacts.eq__dep A P p x p y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + Coq__Logic__EqdepFacts.eq__rect__eq____eq__dep__eq A + (eq__rect__eq__dec A eq__dec). + +thm UIP__dec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + p2 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + p1 p2) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + Coq__Logic__EqdepFacts.eq__dep__eq____UIP A (eq__dep__eq__dec A eq__dec). + +thm inj__pair2__eq__dec : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + __ : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) -> + P : + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P p) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A P)) + (Coq__Init__Specif.existT A P p x) + (Coq__Init__Specif.existT A P p y)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P p)) + x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + eq__dec : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set + (Coq__Init__Specif.sumbool + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (Coq__Init__Logic.not + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))) => + Coq__Logic__EqdepFacts.eq__dep__eq____inj__pair2 A + (Coq__Logic__EqdepFacts.eq__rect__eq____eq__dep__eq A + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I)) + (Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (Q p) + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Q p) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p p) + (h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p p) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q p)) + x + (Coq__Init__Logic.eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p Q x p h)))))) + (Coq__Logic__EqdepFacts.Eq__rect__eq A) cupicef.I + (p : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Q : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (Q p) => + h : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + p p) => + eq__rect__eq__dec A eq__dec p Q x h))). + +def UIP__refl__unit : + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt)) + +:= x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.unit => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt y) => + Coq__Init__Datatypes.match____unit (cupicef.type (cupicef.s cupicef.z)) + (b : cupicef.Term cupicef.set Coq__Init__Datatypes.unit => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt b) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt b) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt)) + y e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt Coq__Init__Datatypes.tt)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.unit) + Coq__Init__Datatypes.tt)) + Coq__Init__Datatypes.tt x. + +def UIP__refl__bool : + b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool -> + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b)) + +:= b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b b) => + Coq__Init__Datatypes.match____bool cupicef.prop + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 b0) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 b0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0 b0)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + b0))) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true y) => + Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true b0) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (x1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + x1 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => + Coq__Init__Logic.True) + y e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true Coq__Init__Datatypes.true)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.true)) + Coq__Init__Datatypes.true x0) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false y) => + Coq__Init__Datatypes.match____bool + (cupicef.type (cupicef.s cupicef.z)) + (b0 : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false b0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false b0) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.true) => + Coq__Init__Logic.True) + (x1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + x1 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + y e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false Coq__Init__Datatypes.false)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.bool) + Coq__Init__Datatypes.false)) + Coq__Init__Datatypes.false x0) + b x. + +def let__IHn : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n) -> + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + IHn : + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0))) -> + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0)) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0) x0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n) => + n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0))) => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0)) => + IHn + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0) x0). + +def UIP__refl__nat : + n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n)) + x + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n)) + +:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n n) => + Coq__Init__Datatypes.nat__ind + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0))) + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O y) => + Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O n0) => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (x1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + x1 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + __ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.True) + y e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.O)) + Coq__Init__Datatypes.O x0) + (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + IHn : + (x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + x0 + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0))) => + x0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0)) => + Coq__Init__Logic.eq__ind + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0) x0) + (e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0 n0) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0))) + x0 + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S n0 n0 e)) + (cupicef.cast cupicef.prop cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0))) + x0 + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0) x0))) + (Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n_27_) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n_27_) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.True) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_))) + x1 + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n_27_)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_) x1))) + (Coq__Init__Datatypes.S n0) x0) + cupicef.I + (Coq__Init__Logic.match____eq cupicef.prop + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + e : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) y) => + Coq__Init__Datatypes.match____nat + (cupicef.type (cupicef.s cupicef.z)) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + cupicef.prod cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n_27_) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) n_27_) => + cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) => + Coq__Init__Logic.True) + (n_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => + x1 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_)) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_))) + x1 + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n_27_)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n_27_) x1))) + y e) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0))) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Datatypes.S + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0)) + (Coq__Init__Logic.f__equal + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + Coq__Init__Nat.pred (Coq__Init__Datatypes.S n0) + (Coq__Init__Datatypes.S n0) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + (Coq__Init__Datatypes.S n0))))) + (Coq__Init__Datatypes.S n0) x0)) + (Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I Coq__Init__Datatypes.nat) + n0) + (let__IHn n x n0 IHn x0)) + n x. + +(; End of translation. ;) diff --git a/out/Coq__Logic__ProofIrrelevanceFacts.dk b/out/Coq__Logic__ProofIrrelevanceFacts.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Logic__ProofIrrelevanceFacts.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZAdd.dk b/out/Coq__Numbers__NatInt__NZAdd.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZAdd.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZAddOrder.dk b/out/Coq__Numbers__NatInt__NZAddOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZAddOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZAxioms.dk b/out/Coq__Numbers__NatInt__NZAxioms.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZAxioms.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZBase.dk b/out/Coq__Numbers__NatInt__NZBase.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZBase.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZBits.dk b/out/Coq__Numbers__NatInt__NZBits.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZBits.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZDiv.dk b/out/Coq__Numbers__NatInt__NZDiv.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZDiv.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZGcd.dk b/out/Coq__Numbers__NatInt__NZGcd.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZGcd.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZLog.dk b/out/Coq__Numbers__NatInt__NZLog.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZLog.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZMul.dk b/out/Coq__Numbers__NatInt__NZMul.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZMul.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZMulOrder.dk b/out/Coq__Numbers__NatInt__NZMulOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZMulOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZOrder.dk b/out/Coq__Numbers__NatInt__NZOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZParity.dk b/out/Coq__Numbers__NatInt__NZParity.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZParity.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZPow.dk b/out/Coq__Numbers__NatInt__NZPow.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZPow.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZProperties.dk b/out/Coq__Numbers__NatInt__NZProperties.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZProperties.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NatInt__NZSqrt.dk b/out/Coq__Numbers__NatInt__NZSqrt.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NatInt__NZSqrt.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NAdd.dk b/out/Coq__Numbers__Natural__Abstract__NAdd.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NAdd.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NAddOrder.dk b/out/Coq__Numbers__Natural__Abstract__NAddOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NAddOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NAxioms.dk b/out/Coq__Numbers__Natural__Abstract__NAxioms.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NAxioms.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NBase.dk b/out/Coq__Numbers__Natural__Abstract__NBase.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NBase.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NBits.dk b/out/Coq__Numbers__Natural__Abstract__NBits.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NBits.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NDiv.dk b/out/Coq__Numbers__Natural__Abstract__NDiv.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NDiv.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NGcd.dk b/out/Coq__Numbers__Natural__Abstract__NGcd.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NGcd.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NLcm.dk b/out/Coq__Numbers__Natural__Abstract__NLcm.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NLcm.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NLog.dk b/out/Coq__Numbers__Natural__Abstract__NLog.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NLog.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NMaxMin.dk b/out/Coq__Numbers__Natural__Abstract__NMaxMin.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NMaxMin.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NMulOrder.dk b/out/Coq__Numbers__Natural__Abstract__NMulOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NMulOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NOrder.dk b/out/Coq__Numbers__Natural__Abstract__NOrder.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NOrder.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NParity.dk b/out/Coq__Numbers__Natural__Abstract__NParity.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NParity.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NPow.dk b/out/Coq__Numbers__Natural__Abstract__NPow.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NPow.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NProperties.dk b/out/Coq__Numbers__Natural__Abstract__NProperties.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NProperties.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NSqrt.dk b/out/Coq__Numbers__Natural__Abstract__NSqrt.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NSqrt.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__Natural__Abstract__NSub.dk b/out/Coq__Numbers__Natural__Abstract__NSub.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__Natural__Abstract__NSub.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Numbers__NumPrelude.dk b/out/Coq__Numbers__NumPrelude.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Numbers__NumPrelude.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Program__Basics.dk b/out/Coq__Program__Basics.dk new file mode 100644 index 000000000..b8763fdef --- /dev/null +++ b/out/Coq__Program__Basics.dk @@ -0,0 +1,109 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def compose : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + g : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + g : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + g (f x). + +def arrow : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => B). + +def impl : + A : cupicef.Univ cupicef.prop -> + B : cupicef.Univ cupicef.prop -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ cupicef.prop => + B : cupicef.Univ cupicef.prop => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I A + (__ : cupicef.Term cupicef.prop A => B). + +def const : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + a. + +def flip : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + C : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) C) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f y x. + +def apply : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + f x. + +(; End of translation. ;) diff --git a/out/Coq__Program__Tactics.dk b/out/Coq__Program__Tactics.dk new file mode 100644 index 000000000..a538f3dac --- /dev/null +++ b/out/Coq__Program__Tactics.dk @@ -0,0 +1,22 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def fix__proto : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a. + +def obligation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a. + +(; End of translation. ;) diff --git a/out/Coq__Relations__Operators__Properties.dk b/out/Coq__Relations__Operators__Properties.dk new file mode 100644 index 000000000..e0aac1220 --- /dev/null +++ b/out/Coq__Relations__Operators__Properties.dk @@ -0,0 +1,2889 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm clos__rt__is__preorder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.preorder A + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Coq__Relations__Relation__Definitions.Build__preorder A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + (Coq__Relations__Relation__Operators.rt__refl A R) + (Coq__Relations__Relation__Operators.rt__trans A R). + +thm clos__rt__idempotent : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans + A R) + x y) => + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x0 + y0) + x y)))) + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) => + H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rt__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + x0 y0) => + IHclos__refl__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + y0 z) => + IHclos__refl__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y0 z) => + Coq__Relations__Relation__Operators.rt__trans A R x0 y0 z + IHclos__refl__trans1 IHclos__refl__trans2) + x y H). + +thm clos__rt__clos__rst : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R + x y) => + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A + R x0 y0) + x y)))) + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__trans A R) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.rst__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rst__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) => + IHclos__refl__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y0 z) => + IHclos__refl__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + y0 z) => + Coq__Relations__Relation__Operators.rst__trans A R x0 y0 z + IHclos__refl__trans1 IHclos__refl__trans2) + x y H). + +thm clos__r__clos__rt : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl A R) + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl A R x y) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl A R x y) => + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x + y0) + y)))) + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl A R) + (Coq__Relations__Relation__Operators.clos__refl__trans A R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl A R x y) => + Coq__Relations__Relation__Operators.clos__refl__ind A R x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x y0) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y0) => + Coq__Relations__Relation__Operators.rt__step A R x y0 H0) + (Coq__Relations__Relation__Operators.rt__refl A R x) y H). + +thm clos__rt__t : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) => + Coq__Relations__Relation__Operators.clos__trans A R x0 z)) + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + d : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : cupicef.Term cupicef.prop (R b d) => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R d z) => + Coq__Relations__Relation__Operators.t__trans A R b d z + (Coq__Relations__Relation__Operators.t__step A R b d H1) H0) + (b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R b z) => + H0) + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + b : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + d : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R a b) => + H2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R b z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R a z)) => + IH1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R b d) => + IH2 : + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R d z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R b z)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R d z) => + H2 (IH2 H0)) + x y H. + +thm clos__rst__is__equiv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + Coq__Relations__Relation__Definitions.Build__equivalence A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R) + (Coq__Relations__Relation__Operators.rst__refl A R) + (Coq__Relations__Relation__Operators.rst__trans A R) + (Coq__Relations__Relation__Operators.rst__sym A R). + +thm clos__rst__idempotent : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans + A R) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans + A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans + A R) + x y) => + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A + R x0 y0) + x y)))) + (Coq__Relations__Relation__Definitions.inclusion A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R)) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R) + x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__ind A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x0 y0) => + H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rst__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + R) + x0 y0) => + IHclos__refl__sym__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x0 y0) => + Coq__Relations__Relation__Operators.rst__sym A R x0 y0 + IHclos__refl__sym__trans) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + R) + x0 y0) => + IHclos__refl__sym__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A + R) + y0 z) => + IHclos__refl__sym__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + y0 z) => + Coq__Relations__Relation__Operators.rst__trans A R x0 y0 z + IHclos__refl__sym__trans1 IHclos__refl__sym__trans2) + x y H). + +thm clos__t1n__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y) => + Coq__Relations__Relation__Operators.clos__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.t__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R y0 z) => + IHclos__trans__1n : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) => + Coq__Relations__Relation__Operators.t__trans A R x0 y0 z + (Coq__Relations__Relation__Operators.t__step A R x0 y0 H0) + IHclos__trans__1n) + x y H. + +thm clos__trans__t1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) => + Coq__Relations__Relation__Operators.clos__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans__1n A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.t1n__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x0 y0) => + IHclos__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) => + IHclos__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R y0 z) => + Coq__Relations__Relation__Operators.clos__trans__1n__ind A R + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A R x1 y1) + (H2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x1 y1) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A R y1 z) + (H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y1 z) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans__1n A R y1 + z) + (IHclos__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A + R y1 z) => + Coq__Relations__Relation__Operators.clos__trans__1n A R x1 + z)))) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x1 y1) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x1 y1) => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y1 z) => + IHclos__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R y1 z) => + Coq__Relations__Relation__Operators.t1n__trans A R x1 y1 z H2 + IHclos__trans3) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x1 y1) => + IHclos__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R y1 z0) => + IHIHclos__trans1 : + (H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y1 z0) -> + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R z0 z) -> + IHclos__trans4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R z0 z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R y1 z)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x1 z0) => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R z0 z) => + IHclos__trans4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R z0 z) => + Coq__Relations__Relation__Operators.t1n__trans A R x1 y1 z H2 + (IHIHclos__trans1 (clos__t1n__trans A R y1 z0 IHclos__trans3) H4 + IHclos__trans4)) + x0 y0 IHclos__trans1 H0 H1 IHclos__trans2) + x y H. + +thm clos__trans__t1n__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__trans A R x y) + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) => + Coq__Relations__Relation__Operators.clos__trans__1n A R x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__1n A R x y) => + Coq__Relations__Relation__Operators.clos__trans A R x y)) + (clos__trans__t1n A R x y) (clos__t1n__trans A R x y). + +thm clos__tn1__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y) => + Coq__Relations__Relation__Operators.clos__trans__n1__ind A R x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans A R x y0) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x y0) => + Coq__Relations__Relation__Operators.t__step A R x y0 H0) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y0 z) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y0) => + IHclos__trans__n1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y0) => + Coq__Relations__Relation__Operators.t__trans A R x y0 z + IHclos__trans__n1 + (Coq__Relations__Relation__Operators.t__step A R y0 z H0)) + y H. + +thm clos__trans__tn1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) => + Coq__Relations__Relation__Operators.clos__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans__n1 A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.tn1__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x0 y0) => + IHclos__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) => + IHclos__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R y0 z) => + Coq__Relations__Relation__Operators.clos__trans__n1__ind A R y0 + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans__n1 A R x0 z0) + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R y0 y1) => + Coq__Relations__Relation__Operators.tn1__trans A R x0 y0 y1 H2 + IHclos__trans1) + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R y1 z0) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R y0 y1) => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x0 y1) => + Coq__Relations__Relation__Operators.tn1__trans A R x0 y1 z0 H2 H4) + z IHclos__trans2) + x y H. + +thm clos__trans__tn1__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__trans A R x y) + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x y) => + Coq__Relations__Relation__Operators.clos__trans__n1 A R x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans__n1 A R x y) => + Coq__Relations__Relation__Operators.clos__trans A R x y)) + (clos__trans__tn1 A R x y) (clos__tn1__trans A R x y). + +thm clos__rt1n__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (R x y) => + Coq__Relations__Relation__Operators.rt1n__trans A R x y y H + (Coq__Relations__Relation__Operators.rt1n__refl A R y). + +thm clos__rtn1__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (R x y) => + Coq__Relations__Relation__Operators.rtn1__trans A R x x y H + (Coq__Relations__Relation__Operators.rtn1__refl A R x). + +thm clos__rt1n__rt : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rt__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y0 z) => + IHclos__refl__trans__1n : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y0 z) => + Coq__Relations__Relation__Operators.rt__trans A R x0 y0 z + (Coq__Relations__Relation__Operators.rt__step A R x0 y0 H0) + IHclos__refl__trans__1n) + x y H. + +thm clos__rt__rt1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + clos__rt1n__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rt1n__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) => + IHclos__refl__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 + y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y0 z) => + IHclos__refl__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y0 z) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n__ind A R + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y1) + (H2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 + y1) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R y1 z) + (H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R + y1 z) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R y1 z) + (IHclos__refl__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R y1 z) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R x1 z)))) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 x1) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 z) => + IHclos__refl__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x1 z) => + IHclos__refl__trans3) + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x1 y1) => + IHclos__refl__trans3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + y1 z0) => + IHIHclos__refl__trans1 : + (H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y1 + z0) -> + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R z0 + z) -> + IHclos__refl__trans4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R z0 z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + y1 z)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 z0) => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R z0 z) => + IHclos__refl__trans4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + z0 z) => + Coq__Relations__Relation__Operators.rt1n__trans A R x1 y1 z H2 + (IHIHclos__refl__trans1 + (clos__rt1n__rt A R y1 z0 IHclos__refl__trans3) H4 + IHclos__refl__trans4)) + x0 y0 IHclos__refl__trans1 H0 H1 IHclos__refl__trans2) + x y H. + +thm clos__rt__rt1n__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x y)) + (clos__rt__rt1n A R x y) (clos__rt1n__rt A R x y). + +thm clos__rtn1__rt : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__n1__ind A R x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans A R x y0) + (Coq__Relations__Relation__Operators.rt__refl A R x) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R y0 z) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y0) => + IHclos__refl__trans__n1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y0) => + Coq__Relations__Relation__Operators.rt__trans A R x y0 z + IHclos__refl__trans__n1 + (Coq__Relations__Relation__Operators.rt__step A R y0 z H0)) + y H. + +thm clos__rt__rtn1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + clos__rtn1__step A R x0 y0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rtn1__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) => + IHclos__refl__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x0 + y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y0 z) => + IHclos__refl__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R y0 z) => + Coq__Relations__Relation__Operators.clos__refl__trans__n1__ind A R y0 + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x0 z0) + IHclos__refl__trans1 + (y1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R y1 z0) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R + y0 y1) => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R + x0 y1) => + Coq__Relations__Relation__Operators.rtn1__trans A R x0 y1 z0 H2 H4) + z IHclos__refl__trans2) + x y H. + +thm clos__rt__rtn1__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__n1 A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x y)) + (clos__rt__rtn1 A R x y) (clos__rtn1__rt A R x y). + +thm clos__refl__trans__ind__left : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.prop (P x) -> + __0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + __2 : cupicef.Term cupicef.prop (R y z) -> + cupicef.Term cupicef.prop (P z)) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + cupicef.Term cupicef.prop (P z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + H : cupicef.Term cupicef.prop (P x) => + H0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : cupicef.Term cupicef.prop (R y z) -> + cupicef.Term cupicef.prop (P z)) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + Coq__Relations__Relation__Operators.clos__refl__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop)) + cupicef.I (P x0) + (H2 : cupicef.Term cupicef.prop (P x0) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A + R x0 y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans + A R x0 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (P y) + (__0 : cupicef.Term cupicef.prop (P y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (R y z1) + (__1 : cupicef.Term cupicef.prop (R y z1) => P z1)))))) + (H3 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R + x0 y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : cupicef.Term cupicef.prop (R y z1) -> + cupicef.Term cupicef.prop (P z1)) => + P z0))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x0 y) => + H3 : cupicef.Term cupicef.prop (P x0) => + H4 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) -> + __0 : cupicef.Term cupicef.prop (P y0) -> + __1 : cupicef.Term cupicef.prop (R y0 z0) -> + cupicef.Term cupicef.prop (P z0)) => + H4 x0 y (Coq__Relations__Relation__Operators.rt__refl A R x0) H3 H2) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (P x0) => + H3 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : cupicef.Term cupicef.prop (R y z0) -> + cupicef.Term cupicef.prop (P z0)) => + H2) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) => + IHclos__refl__trans1 : + (H2 : cupicef.Term cupicef.prop (P x0) -> + H3 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 + y0) -> + __0 : cupicef.Term cupicef.prop (P y0) -> + __1 : cupicef.Term cupicef.prop (R y0 z1) -> + cupicef.Term cupicef.prop (P z1)) -> + cupicef.Term cupicef.prop (P y)) => + H1__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z0) => + IHclos__refl__trans2 : + (H2 : cupicef.Term cupicef.prop (P y) -> + H3 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y + y0) -> + __0 : cupicef.Term cupicef.prop (P y0) -> + __1 : cupicef.Term cupicef.prop (R y0 z1) -> + cupicef.Term cupicef.prop (P z1)) -> + cupicef.Term cupicef.prop (P z0)) => + H2 : cupicef.Term cupicef.prop (P x0) => + H3 : + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y0) -> + __0 : cupicef.Term cupicef.prop (P y0) -> + __1 : cupicef.Term cupicef.prop (R y0 z1) -> + cupicef.Term cupicef.prop (P z1)) => + IHclos__refl__trans2 (IHclos__refl__trans1 H2 H3) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H4 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y y0) => + H5 : cupicef.Term cupicef.prop (P y0) => + H6 : cupicef.Term cupicef.prop (R y0 z1) => + H3 y0 z1 + (Coq__Relations__Relation__Operators.rt__trans A R x0 y y0 H1__ H4) + H5 H6)) + x z H1 H H0. + +thm rt1n__ind__right : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P z) -> + __0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R x y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) -> + __2 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x z) -> + cupicef.Term cupicef.prop (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (P z) => + H0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x z) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop)) + cupicef.I (P z0) + (H2 : cupicef.Term cupicef.prop (P z0) => + cupicef.prod + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.rule + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (R x1 y) + (__ : cupicef.Term cupicef.prop (R x1 y) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R y z0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R y z0) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (P y) + (__1 : cupicef.Term cupicef.prop (P y) => P x1)))))) + (H3 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R y z0) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P x1)) => + P x0))) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (P x0) => + H3 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y + x0) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P x1)) => + H2) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H2 : cupicef.Term cupicef.prop (R x0 y) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z0) => + IHclos__refl__trans__1n : + (H4 : cupicef.Term cupicef.prop (P z0) -> + H5 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R y0 z0) -> + __1 : cupicef.Term cupicef.prop (P y0) -> + cupicef.Term cupicef.prop (P x1)) -> + cupicef.Term cupicef.prop (P y)) => + H4 : cupicef.Term cupicef.prop (P z0) => + H5 : + (x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x1 y0) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + y0 z0) -> + __1 : cupicef.Term cupicef.prop (P y0) -> + cupicef.Term cupicef.prop (P x1)) => + H5 x0 y H2 H3 (IHclos__refl__trans__1n H4 H5)) + x z H1 H H0. + +def let__H : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hz : cupicef.Term cupicef.prop (P z) -> + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (P z) => + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x0 y) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + R x0 y) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R x0 y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R x0 y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R x0 y) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x0 + y))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) + (__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 y)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x0 + y)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x0 y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x0 y)) => + __) + (clos__rt__rt1n__iff A R x0 y). + +def let__Hxz : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hz : cupicef.Term cupicef.prop (P z) -> + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (P z) => + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + let__H A R P z Hz IH x Hxz x z Hxz. + +def let__H0 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hz : cupicef.Term cupicef.prop (P z) -> + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxy : cupicef.Term cupicef.prop (R x0 y) -> + Hyz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) -> + Hy : cupicef.Term cupicef.prop (P y) -> + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x1 y0) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (P z) => + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxy : cupicef.Term cupicef.prop (R x0 y) => + Hyz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) => + Hy : cupicef.Term cupicef.prop (P y) => + x1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x1 y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x1 y0) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x1 y0) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0)) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 + y0) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A + R x1 y0) => + Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R x1 y0)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A + R x1 y0) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n + A R x1 y0) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x1 + y0))) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x1 y0) + (__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x1 y0) => + Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0)) + (__ : + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R x1 + y0)) => + __0 : + (__0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R + x1 y0) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x1 y0)) => + __0) + (clos__rt__rt1n__iff A R x1 y0). + +def let__Hyz : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hz : cupicef.Term cupicef.prop (P z) -> + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + Hxy : cupicef.Term cupicef.prop (R x0 y) -> + Hyz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) -> + Hy : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (P z) => + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxy : cupicef.Term cupicef.prop (R x0 y) => + Hyz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) => + Hy : cupicef.Term cupicef.prop (P y) => + let__H0 A R P z Hz IH x Hxz x0 y Hxy Hyz Hy y z Hyz. + +thm clos__refl__trans__ind__right : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (P z) -> + __0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term cupicef.prop (R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + __2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) -> + cupicef.Term cupicef.prop (P x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hz : cupicef.Term cupicef.prop (P z) => + IH : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (P y) -> + __1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (P x)) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans A R x z) => + rt1n__ind__right A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => P x0) z Hz + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Hxy : cupicef.Term cupicef.prop (R x0 y) => + Hyz : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__trans__1n A R y z) => + Hy : cupicef.Term cupicef.prop (P y) => + IH x0 y Hxy Hy (let__Hyz A R P z Hz IH x Hxz x0 y Hxy Hyz Hy)) + x (let__Hxz A R P z Hz IH x Hxz). + +thm clos__rst1n__rst : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rst__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x0 y0) (R y0 x0)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + y0 z) => + IHclos__refl__sym__trans__1n : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R y0 + z) => + Coq__Relations__Relation__Operators.rst__trans A R x0 y0 z + (Coq__Init__Logic.match____or cupicef.prop (R x0 y0) (R y0 x0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R x0 y0) (R y0 x0)) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 + y0) + (H2 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.rst__step A R x0 y0 H2) + (H2 : cupicef.Term cupicef.prop (R y0 x0) => + Coq__Relations__Relation__Operators.rst__sym A R y0 x0 + (Coq__Relations__Relation__Operators.rst__step A R y0 x0 H2)) + H0) + IHclos__refl__sym__trans__1n) + x y H. + +thm clos__rst1n__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R y z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + y0 z) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n + A R y0 z) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + x0 z)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + x0 z) => + H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x0 y0) (R y0 x0)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + y0 z0) => + IHclos__refl__sym__trans__1n : + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n + A R z0 z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A + R y0 z)) => + H2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + z0 z) => + Coq__Relations__Relation__Operators.rst1n__trans A R x0 y0 z H0 + (IHclos__refl__sym__trans__1n H2)) + x y H. + +thm clos__rst1n__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R y0 + x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rst1n__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + D : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x0 y0) (R y0 x0)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + y0 z) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + z y0) => + clos__rst1n__trans A R z y0 x0 H1 + (Coq__Relations__Relation__Operators.rst1n__trans A R y0 x0 x0 + (Coq__Init__Logic.or__ind (R x0 y0) (R y0 x0) + (Coq__Init__Logic.or (R y0 x0) (R x0 y0)) + (H2 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Init__Logic.or__intror (R y0 x0) (R x0 y0) H2) + (H2 : cupicef.Term cupicef.prop (R y0 x0) => + Coq__Init__Logic.or__introl (R y0 x0) (R x0 y0) H2) + D) + (Coq__Relations__Relation__Operators.rst1n__refl A R x0))) + x y H. + +thm clos__rst__rst1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x0 + y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.rst1n__trans A R x0 y0 y0 + (Coq__Init__Logic.or__introl (R x0 y0) (R y0 x0) H0) + (Coq__Relations__Relation__Operators.rst1n__refl A R y0)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rst1n__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 + y0) => + IHclos__refl__sym__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + x0 y0) => + clos__rst1n__sym A R x0 y0 IHclos__refl__sym__trans) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 + y0) => + IHclos__refl__sym__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R y0 + z) => + IHclos__refl__sym__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R + y0 z) => + clos__rst1n__trans A R x0 y0 z IHclos__refl__sym__trans1 + IHclos__refl__sym__trans2) + x y H. + +thm clos__rst__rst1n__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n A R x + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__1n + A R x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y)) + (clos__rst__rst1n A R x y) (clos__rst1n__rst A R x y). + +thm clos__rstn1__rst : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1__ind A R x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y0) + (Coq__Relations__Relation__Operators.rst__refl A R x) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y0 z) (R z y0)) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + x y0) => + IHclos__refl__sym__trans__n1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x + y0) => + Coq__Relations__Relation__Operators.rst__trans A R x y0 z + IHclos__refl__sym__trans__n1 + (Coq__Init__Logic.match____or cupicef.prop (R y0 z) (R z y0) + (__ : + cupicef.Term cupicef.prop + (Coq__Init__Logic.or (R y0 z) (R z y0)) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R y0 + z) + (H2 : cupicef.Term cupicef.prop (R y0 z) => + Coq__Relations__Relation__Operators.rst__step A R y0 z H2) + (H2 : cupicef.Term cupicef.prop (R z y0) => + Coq__Relations__Relation__Operators.rst__sym A R z y0 + (Coq__Relations__Relation__Operators.rst__step A R z y0 H2)) + H0)) + y H. + +thm clos__rstn1__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x y) -> + __0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R y z) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y) => + H2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R y + z) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1__ind A R y + (z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x z0) + H1 + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y0 z0) (R z0 y0)) => + H3 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + y y0) => + IHclos__refl__sym__trans__n1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + x y0) => + Coq__Relations__Relation__Operators.rstn1__trans A R x y0 z0 H + IHclos__refl__sym__trans__n1) + z H2. + +thm clos__rstn1__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1__ind A R x + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R y0 x) + (Coq__Relations__Relation__Operators.rstn1__refl A R x) + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + D : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y0 z) (R z y0)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + x y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + y0 x) => + clos__rstn1__trans A R z y0 x + (Coq__Relations__Relation__Operators.rstn1__trans A R z z y0 + (Coq__Init__Logic.or__ind (R y0 z) (R z y0) + (Coq__Init__Logic.or (R z y0) (R y0 z)) + (H2 : cupicef.Term cupicef.prop (R y0 z) => + Coq__Init__Logic.or__intror (R z y0) (R y0 z) H2) + (H2 : cupicef.Term cupicef.prop (R z y0) => + Coq__Init__Logic.or__introl (R z y0) (R y0 z) H2) + D) + (Coq__Relations__Relation__Operators.rstn1__refl A R z)) + H1) + y H. + +thm clos__rst__rstn1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x y) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__ind A R + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x0 + y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.rstn1__trans A R x0 x0 y0 + (Coq__Init__Logic.or__introl (R x0 y0) (R y0 x0) H0) + (Coq__Relations__Relation__Operators.rstn1__refl A R x0)) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.rstn1__refl A R x0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 + y0) => + IHclos__refl__sym__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + x0 y0) => + clos__rstn1__sym A R x0 y0 IHclos__refl__sym__trans) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x0 + y0) => + IHclos__refl__sym__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R y0 + z) => + IHclos__refl__sym__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R + y0 z) => + clos__rstn1__trans A R x0 y0 z IHclos__refl__sym__trans1 + IHclos__refl__sym__trans2) + x y H. + +thm clos__rst__rstn1__iff : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans A R + x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 A R x + y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__refl__sym__trans__n1 + A R x y) => + Coq__Relations__Relation__Operators.clos__refl__sym__trans A R x y)) + (clos__rst__rstn1 A R x y) (clos__rstn1__rst A R x y). + +thm clos__trans__transp__permute : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (Coq__Init__Logic.iff + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x y) + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x y)) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x y) => + Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x y)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x y) + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x y) => + Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x y)) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x y) => + Coq__Relations__Relation__Operators.clos__trans__ind A R + (y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (R x0 y0) => + Coq__Relations__Relation__Operators.t__step A + (Coq__Relations__Relation__Operators.transp A R) y0 x0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R x0 y0) => + IHclos__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) y0 x0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A R y0 z) => + IHclos__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) z y0) => + Coq__Relations__Relation__Operators.t__trans A + (Coq__Relations__Relation__Operators.transp A R) z y0 x0 + IHclos__trans2 IHclos__trans1) + y x H) + (H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x y) => + Coq__Relations__Relation__Operators.clos__trans__ind A + (Coq__Relations__Relation__Operators.transp A R) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x0 y0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.transp A R x0 y0) => + Coq__Relations__Relation__Operators.t__step A R y0 x0 H0) + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) x0 y0) => + IHclos__trans1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) x0 y0) => + H1 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.clos__trans A + (Coq__Relations__Relation__Operators.transp A R) y0 z) => + IHclos__trans2 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Operators.transp A + (Coq__Relations__Relation__Operators.clos__trans A R) y0 z) => + Coq__Relations__Relation__Operators.t__trans A R z y0 x0 + IHclos__trans2 IHclos__trans1) + x y H). + +(; End of translation. ;) diff --git a/out/Coq__Relations__Relation__Definitions.dk b/out/Coq__Relations__Relation__Definitions.dk new file mode 100644 index 000000000..d64cec17f --- /dev/null +++ b/out/Coq__Relations__Relation__Definitions.dk @@ -0,0 +1,804 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cupicef.Univ + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I A + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I A + (__0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)). + +def reflexive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => R x x). + +def transitive : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R y z) (__0 : cupicef.Term cupicef.prop (R y z) => R x z))))). + +def symmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => R y x))). + +def antisymmetric : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (R x y) + (__ : cupicef.Term cupicef.prop (R x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R y x) + (__0 : cupicef.Term cupicef.prop (R y x) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))). + +def equiv : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + Coq__Init__Logic.and (reflexive A R) + (Coq__Init__Logic.and (transitive A R) (symmetric A R)). + +def preorder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop. + +def Build__preorder : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + preord__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + preord__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + cupicef.Term cupicef.prop (preorder A R). + +[ ] cupicef.code_guarded? _ (Build__preorder _ _ _ _) --> cupicef.guarded. + +def match____preorder : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + P : (cupicef.Term cupicef.prop (preorder A R) -> cupicef.Univ s) -> + case__Build__preorder : + (preord__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + preord__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + cupicef.Term s (P (Build__preorder A R preord__refl0 preord__trans0))) -> + x : cupicef.Term cupicef.prop (preorder A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__preorder, preord__refl0, preord__trans0] + match____preorder s A R P case__Build__preorder + (Build__preorder A R preord__refl0 preord__trans0) + --> + case__Build__preorder preord__refl0 preord__trans0. + +[ s, A, R, P, s'] + match____preorder s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____preorder s' A R (x => P x). + +def preord__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + p : cupicef.Term cupicef.prop (preorder A R) -> + cupicef.Term cupicef.prop (reflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + p : cupicef.Term cupicef.prop (preorder A R) => + match____preorder cupicef.prop A R + (p0 : cupicef.Term cupicef.prop (preorder A R) => reflexive A R) + (preord__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + preord__trans0 : cupicef.Term cupicef.prop (transitive A R) => + preord__refl0) + p. + +def preord__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + p : cupicef.Term cupicef.prop (preorder A R) -> + cupicef.Term cupicef.prop (transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + p : cupicef.Term cupicef.prop (preorder A R) => + match____preorder cupicef.prop A R + (p0 : cupicef.Term cupicef.prop (preorder A R) => transitive A R) + (preord__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + preord__trans0 : cupicef.Term cupicef.prop (transitive A R) => + preord__trans0) + p. + +def order : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop. + +def Build__order : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + ord__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + ord__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + ord__antisym0 : cupicef.Term cupicef.prop (antisymmetric A R) -> + cupicef.Term cupicef.prop (order A R). + +[ ] cupicef.code_guarded? _ (Build__order _ _ _ _ _) --> cupicef.guarded. + +def match____order : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + P : (cupicef.Term cupicef.prop (order A R) -> cupicef.Univ s) -> + case__Build__order : + (ord__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + ord__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + ord__antisym0 : cupicef.Term cupicef.prop (antisymmetric A R) -> + cupicef.Term s + (P (Build__order A R ord__refl0 ord__trans0 ord__antisym0))) -> + x : cupicef.Term cupicef.prop (order A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__order, ord__refl0, ord__trans0, ord__antisym0] + match____order s A R P case__Build__order + (Build__order A R ord__refl0 ord__trans0 ord__antisym0) + --> + case__Build__order ord__refl0 ord__trans0 ord__antisym0. + +[ s, A, R, P, s'] + match____order s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____order s' A R (x => P x). + +def ord__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + o : cupicef.Term cupicef.prop (order A R) -> + cupicef.Term cupicef.prop (reflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + o : cupicef.Term cupicef.prop (order A R) => + match____order cupicef.prop A R + (o0 : cupicef.Term cupicef.prop (order A R) => reflexive A R) + (ord__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + ord__trans0 : cupicef.Term cupicef.prop (transitive A R) => + ord__antisym0 : cupicef.Term cupicef.prop (antisymmetric A R) => + ord__refl0) + o. + +def ord__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + o : cupicef.Term cupicef.prop (order A R) -> + cupicef.Term cupicef.prop (transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + o : cupicef.Term cupicef.prop (order A R) => + match____order cupicef.prop A R + (o0 : cupicef.Term cupicef.prop (order A R) => transitive A R) + (ord__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + ord__trans0 : cupicef.Term cupicef.prop (transitive A R) => + ord__antisym0 : cupicef.Term cupicef.prop (antisymmetric A R) => + ord__trans0) + o. + +def ord__antisym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + o : cupicef.Term cupicef.prop (order A R) -> + cupicef.Term cupicef.prop (antisymmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + o : cupicef.Term cupicef.prop (order A R) => + match____order cupicef.prop A R + (o0 : cupicef.Term cupicef.prop (order A R) => antisymmetric A R) + (ord__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + ord__trans0 : cupicef.Term cupicef.prop (transitive A R) => + ord__antisym0 : cupicef.Term cupicef.prop (antisymmetric A R) => + ord__antisym0) + o. + +def equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop. + +def Build__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + equiv__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + equiv__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + equiv__sym0 : cupicef.Term cupicef.prop (symmetric A R) -> + cupicef.Term cupicef.prop (equivalence A R). + +[ ] cupicef.code_guarded? _ (Build__equivalence _ _ _ _ _) --> cupicef.guarded. + +def match____equivalence : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + P : (cupicef.Term cupicef.prop (equivalence A R) -> cupicef.Univ s) -> + case__Build__equivalence : + (equiv__refl0 : cupicef.Term cupicef.prop (reflexive A R) -> + equiv__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + equiv__sym0 : cupicef.Term cupicef.prop (symmetric A R) -> + cupicef.Term s + (P (Build__equivalence A R equiv__refl0 equiv__trans0 equiv__sym0))) -> + x : cupicef.Term cupicef.prop (equivalence A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__equivalence, equiv__refl0, equiv__trans0, equiv__sym0] + match____equivalence s A R P case__Build__equivalence + (Build__equivalence A R equiv__refl0 equiv__trans0 equiv__sym0) + --> + case__Build__equivalence equiv__refl0 equiv__trans0 equiv__sym0. + +[ s, A, R, P, s'] + match____equivalence s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____equivalence s' A R (x => P x). + +def equiv__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + e : cupicef.Term cupicef.prop (equivalence A R) -> + cupicef.Term cupicef.prop (reflexive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + e : cupicef.Term cupicef.prop (equivalence A R) => + match____equivalence cupicef.prop A R + (e0 : cupicef.Term cupicef.prop (equivalence A R) => reflexive A R) + (equiv__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + equiv__trans0 : cupicef.Term cupicef.prop (transitive A R) => + equiv__sym0 : cupicef.Term cupicef.prop (symmetric A R) => + equiv__refl0) + e. + +def equiv__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + e : cupicef.Term cupicef.prop (equivalence A R) -> + cupicef.Term cupicef.prop (transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + e : cupicef.Term cupicef.prop (equivalence A R) => + match____equivalence cupicef.prop A R + (e0 : cupicef.Term cupicef.prop (equivalence A R) => transitive A R) + (equiv__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + equiv__trans0 : cupicef.Term cupicef.prop (transitive A R) => + equiv__sym0 : cupicef.Term cupicef.prop (symmetric A R) => + equiv__trans0) + e. + +def equiv__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + e : cupicef.Term cupicef.prop (equivalence A R) -> + cupicef.Term cupicef.prop (symmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + e : cupicef.Term cupicef.prop (equivalence A R) => + match____equivalence cupicef.prop A R + (e0 : cupicef.Term cupicef.prop (equivalence A R) => symmetric A R) + (equiv__refl0 : cupicef.Term cupicef.prop (reflexive A R) => + equiv__trans0 : cupicef.Term cupicef.prop (transitive A R) => + equiv__sym0 : cupicef.Term cupicef.prop (symmetric A R) => + equiv__sym0) + e. + +def PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop. + +def Build__PER : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + per__sym0 : cupicef.Term cupicef.prop (symmetric A R) -> + per__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + cupicef.Term cupicef.prop (PER A R). + +[ ] cupicef.code_guarded? _ (Build__PER _ _ _ _) --> cupicef.guarded. + +def match____PER : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + P : (cupicef.Term cupicef.prop (PER A R) -> cupicef.Univ s) -> + case__Build__PER : + (per__sym0 : cupicef.Term cupicef.prop (symmetric A R) -> + per__trans0 : cupicef.Term cupicef.prop (transitive A R) -> + cupicef.Term s (P (Build__PER A R per__sym0 per__trans0))) -> + x : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term s (P x). + +[ s, A, R, P, case__Build__PER, per__sym0, per__trans0] + match____PER s A R P case__Build__PER + (Build__PER A R per__sym0 per__trans0) + --> + case__Build__PER per__sym0 per__trans0. + +[ s, A, R, P, s'] + match____PER s A R + (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____PER s' A R (x => P x). + +def per__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + p : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term cupicef.prop (symmetric A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + p : cupicef.Term cupicef.prop (PER A R) => + match____PER cupicef.prop A R + (p0 : cupicef.Term cupicef.prop (PER A R) => symmetric A R) + (per__sym0 : cupicef.Term cupicef.prop (symmetric A R) => + per__trans0 : cupicef.Term cupicef.prop (transitive A R) => + per__sym0) + p. + +def per__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + p : cupicef.Term cupicef.prop (PER A R) -> + cupicef.Term cupicef.prop (transitive A R) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + p : cupicef.Term cupicef.prop (PER A R) => + match____PER cupicef.prop A R + (p0 : cupicef.Term cupicef.prop (PER A R) => transitive A R) + (per__sym0 : cupicef.Term cupicef.prop (symmetric A R) => + per__trans0 : cupicef.Term cupicef.prop (transitive A R) => + per__trans0) + p. + +def inclusion : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (R1 x y) + (__ : cupicef.Term cupicef.prop (R1 x y) => R2 x y))). + +def same__relation : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + Coq__Init__Logic.and (inclusion A R1 R2) (inclusion A R2 R1). + +def commut : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (relation A) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (R1 y x) + (__ : cupicef.Term cupicef.prop (R1 y x) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( + R2 z y) + (__0 : cupicef.Term cupicef.prop (R2 z y) => + Coq__Init__Logic.ex2 A + (y_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R2 y_27_ x) + (y_27_ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R1 z y_27_)))))). + +(; End of translation. ;) diff --git a/out/Coq__Relations__Relation__Operators.dk b/out/Coq__Relations__Relation__Operators.dk new file mode 100644 index 000000000..ce8e0a4c3 --- /dev/null +++ b/out/Coq__Relations__Relation__Operators.dk @@ -0,0 +1,4526 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def clos__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def t__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__trans A R x y). + +def t__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans A R y z) -> + cupicef.Term cupicef.prop (clos__trans A R x z). + +[ ] cupicef.code_guarded? _ (t__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (t__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__trans : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__trans A R x __) -> + cupicef.Univ s) -> + case__t__step : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term s (P y (t__step A R x y __))) -> + case__t__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans A R y z) -> + cupicef.Term s (P z (t__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__trans A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__t__step, case__t__trans, y, __] + match____clos__trans s A R x P case__t__step case__t__trans {y} + (t__step A R x y __) + --> + case__t__step y __. + +[ s, A, R, x, P, case__t__step, case__t__trans, y, z, __, __0] + match____clos__trans s A R x P case__t__step case__t__trans {z} + (t__trans A R x y z __ __0) + --> + case__t__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__trans s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__trans s' A R x (__ => x => P __ x). + +def clos__trans__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__trans A R x a) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__trans A R x a) + (c : cupicef.Term cupicef.prop (clos__trans A R x a) => + P x a)))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__trans A R x a) => + match____clos__trans cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__trans A R x a0) => + P x a0) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + f x y r) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c0 : cupicef.Term cupicef.prop (clos__trans A R x y) => + c1 : cupicef.Term cupicef.prop (clos__trans A R y z) => + f0 x y z c0 (F x y c0) c1 (F y z c1)) + a c)) + cupicef.0. + +def clos__trans__1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def t1n__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__trans__1n A R x y). + +def t1n__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans__1n A R y z) -> + cupicef.Term cupicef.prop (clos__trans__1n A R x z). + +[ ] cupicef.code_guarded? _ (t1n__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (t1n__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__trans__1n : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__trans__1n A R x __) -> + cupicef.Univ s) -> + case__t1n__step : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term s (P y (t1n__step A R x y __))) -> + case__t1n__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans__1n A R y z) -> + cupicef.Term s (P z (t1n__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__trans__1n A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__t1n__step, case__t1n__trans, y, __] + match____clos__trans__1n s A R x P case__t1n__step case__t1n__trans { + y} (t1n__step A R x y __) + --> + case__t1n__step y __. + +[ s, A, R, x, P, case__t1n__step, case__t1n__trans, y, z, __, __0] + match____clos__trans__1n s A R x P case__t1n__step case__t1n__trans { + z} (t1n__trans A R x y z __ __0) + --> + case__t1n__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__trans__1n s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__trans__1n s' A R x (__ => x => P __ x). + +def clos__trans__1n__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__trans__1n A R x a) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__trans__1n A R x a) + (c : cupicef.Term cupicef.prop (clos__trans__1n A R x a) => + P x a)))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__trans__1n A R x a) => + match____clos__trans__1n cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__trans__1n A R x a0) => + P x a0) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + f x y r) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + c0 : cupicef.Term cupicef.prop (clos__trans__1n A R y z) => + f0 x y z r c0 (F y z c0)) + a c)) + cupicef.0. + +def clos__trans__n1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def tn1__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__trans__n1 A R x y). + +def tn1__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x y) -> + cupicef.Term cupicef.prop (clos__trans__n1 A R x z). + +[ ] cupicef.code_guarded? _ (tn1__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (tn1__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__trans__n1 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__trans__n1 A R x __) -> + cupicef.Univ s) -> + case__tn1__step : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term s (P y (tn1__step A R x y __))) -> + case__tn1__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x y) -> + cupicef.Term s (P z (tn1__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__tn1__step, case__tn1__trans, y, __] + match____clos__trans__n1 s A R x P case__tn1__step case__tn1__trans { + y} (tn1__step A R x y __) + --> + case__tn1__step y __. + +[ s, A, R, x, P, case__tn1__step, case__tn1__trans, y, z, __, __0] + match____clos__trans__n1 s A R x P case__tn1__step case__tn1__trans { + z} (tn1__trans A R x y z __ __0) + --> + case__tn1__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__trans__n1 s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__trans__n1 s' A R x (__ => x => P __ x). + +def clos__trans__n1__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P y)) -> + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__trans__n1 A R x a) -> + cupicef.Term cupicef.prop (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P y)) => + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__trans__n1 A R x a) + (c : cupicef.Term cupicef.prop (clos__trans__n1 A R x a) => + P a))))) + (c => + c + (F => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__trans__n1 A R x a) => + match____clos__trans__n1 cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__trans__n1 A R x a0) => + P a0) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + f y r) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R y z) => + c0 : cupicef.Term cupicef.prop (clos__trans__n1 A R x y) => + f0 y z r c0 (F y c0)) + a c)) + cupicef.0. + +def clos__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def r__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__refl A R x y). + +def r__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl A R x x). + +[ ] cupicef.code_guarded? _ (r__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (r__refl _ _ _) --> cupicef.guarded. + +def match____clos__refl : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl A R x __) -> + cupicef.Univ s) -> + case__r__step : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term s (P y (r__step A R x y __))) -> + case__r__refl : cupicef.Term s (P x (r__refl A R x)) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__r__step, case__r__refl, y, __] + match____clos__refl s A R x P case__r__step case__r__refl {y} + (r__step A R x y __) + --> + case__r__step y __. + +[ s, A, R, x, P, case__r__step, case__r__refl] + match____clos__refl s A R x P case__r__step case__r__refl {x} + (r__refl A R x) + --> + case__r__refl. + +[ s, A, R, x, P, s'] + match____clos__refl s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl s' A R x (__ => x => P __ x). + +def clos__refl__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P y)) -> + f0 : cupicef.Term cupicef.prop (P x) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl A R x a) -> + cupicef.Term cupicef.prop (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P y)) => + f0 : cupicef.Term cupicef.prop (P x) => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl A R x a) => + match____clos__refl cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__refl A R x a0) => + P a0) + f f0 a c. + +def clos__refl__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rt__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__refl__trans A R x y). + +def rt__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans A R x x). + +def rt__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans A R y z) -> + cupicef.Term cupicef.prop (clos__refl__trans A R x z). + +[ ] cupicef.code_guarded? _ (rt__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rt__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rt__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__trans : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans A R x __) -> + cupicef.Univ s) -> + case__rt__step : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term s (P y (rt__step A R x y __))) -> + case__rt__refl : cupicef.Term s (P x (rt__refl A R x)) -> + case__rt__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans A R y z) -> + cupicef.Term s (P z (rt__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl__trans A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__rt__step, case__rt__refl, case__rt__trans, y, __] + match____clos__refl__trans s A R x P case__rt__step case__rt__refl + case__rt__trans {y} (rt__step A R x y __) + --> + case__rt__step y __. + +[ s, A, R, x, P, case__rt__step, case__rt__refl, case__rt__trans] + match____clos__refl__trans s A R x P case__rt__step case__rt__refl + case__rt__trans {x} (rt__refl A R x) + --> + case__rt__refl. + +[ s, A, R, x, P, case__rt__step, case__rt__refl, case__rt__trans, y, z, __, __0] + match____clos__refl__trans s A R x P case__rt__step case__rt__refl + case__rt__trans {z} (rt__trans A R x y z __ __0) + --> + case__rt__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__refl__trans s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl__trans s' A R x (__ => x => P __ x). + +def clos__refl__trans__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) -> + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__refl__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__trans A R x a) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) => + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__refl__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__trans A R x a) + (c : + cupicef.Term cupicef.prop (clos__refl__trans A R x a) => + P x a)))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__trans A R x a) => + match____clos__refl__trans cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__refl__trans A R x a0) => + P x a0) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + f x y r) + (f0 x) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c0 : cupicef.Term cupicef.prop (clos__refl__trans A R x y) => + c1 : cupicef.Term cupicef.prop (clos__refl__trans A R y z) => + f1 x y z c0 (F x y c0) c1 (F y z c1)) + a c)) + cupicef.0. + +def clos__refl__trans__1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rt1n__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans__1n A R x x). + +def rt1n__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R y z) -> + cupicef.Term cupicef.prop (clos__refl__trans__1n A R x z). + +[ ] cupicef.code_guarded? _ (rt1n__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rt1n__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__trans__1n : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans__1n A R x __) -> + cupicef.Univ s) -> + case__rt1n__refl : cupicef.Term s (P x (rt1n__refl A R x)) -> + case__rt1n__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R y z) -> + cupicef.Term s (P z (rt1n__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__rt1n__refl, case__rt1n__trans] + match____clos__refl__trans__1n s A R x P case__rt1n__refl case__rt1n__trans + {x} (rt1n__refl A R x) + --> + case__rt1n__refl. + +[ s, A, R, x, P, case__rt1n__refl, case__rt1n__trans, y, z, __, __0] + match____clos__refl__trans__1n s A R x P case__rt1n__refl case__rt1n__trans + {z} (rt1n__trans A R x y z __ __0) + --> + case__rt1n__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__refl__trans__1n s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl__trans__1n s' A R x (__ => x => P __ x). + +def clos__refl__trans__1n__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__trans__1n A R x a) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__trans__1n A R x a) + (c : + cupicef.Term cupicef.prop + (clos__refl__trans__1n A R x a) => + P x a)))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__trans__1n A R x a) => + match____clos__refl__trans__1n cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__refl__trans__1n A R x a0) => + P x a0) + (f x) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + c0 : cupicef.Term cupicef.prop (clos__refl__trans__1n A R y z) => + f0 x y z r c0 (F y z c0)) + a c)) + cupicef.0. + +def clos__refl__trans__n1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rtn1__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x x). + +def rtn1__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x y) -> + cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x z). + +[ ] cupicef.code_guarded? _ (rtn1__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rtn1__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__trans__n1 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x __) -> + cupicef.Univ s) -> + case__rtn1__refl : cupicef.Term s (P x (rtn1__refl A R x)) -> + case__rtn1__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x y) -> + cupicef.Term s (P z (rtn1__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__rtn1__refl, case__rtn1__trans] + match____clos__refl__trans__n1 s A R x P case__rtn1__refl case__rtn1__trans + {x} (rtn1__refl A R x) + --> + case__rtn1__refl. + +[ s, A, R, x, P, case__rtn1__refl, case__rtn1__trans, y, z, __, __0] + match____clos__refl__trans__n1 s A R x P case__rtn1__refl case__rtn1__trans + {z} (rtn1__trans A R x y z __ __0) + --> + case__rtn1__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__refl__trans__n1 s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl__trans__n1 s' A R x (__ => x => P __ x). + +def clos__refl__trans__n1__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P x) -> + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x a) -> + cupicef.Term cupicef.prop (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P x) => + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R y z) -> + __0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__trans__n1 A R x a) + (c : + cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x a) => + P a))))) + (c => + c + (F => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x a) => + match____clos__refl__trans__n1 cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x a0) => + P a0) + f + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R y z) => + c0 : cupicef.Term cupicef.prop (clos__refl__trans__n1 A R x y) => + f0 y z r c0 (F y c0)) + a c)) + cupicef.0. + +def clos__refl__sym__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rst__step : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y). + +def rst__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans A R x x). + +def rst__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + cupicef.Term cupicef.prop (clos__refl__sym__trans A R y x). + +def rst__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R y z) -> + cupicef.Term cupicef.prop (clos__refl__sym__trans A R x z). + +[ ] cupicef.code_guarded? _ (rst__step _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rst__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rst__sym _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rst__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__sym__trans : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans A R __ __0) -> + cupicef.Univ s) -> + case__rst__step : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x0 y) -> + cupicef.Term s (P x0 y (rst__step A R x0 y __))) -> + case__rst__refl : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term s (P x0 x0 (rst__refl A R x0))) -> + case__rst__sym : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x0 y) -> + cupicef.Term s (P y x0 (rst__sym A R x0 y __))) -> + case__rst__trans : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x0 y) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R y z) -> + cupicef.Term s (P x0 z (rst__trans A R x0 y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x : cupicef.Term cupicef.prop (clos__refl__sym__trans A R __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, R, P, case__rst__step, case__rst__refl, case__rst__sym, case__rst__trans, x0, y, __] + match____clos__refl__sym__trans s A R P case__rst__step case__rst__refl + case__rst__sym case__rst__trans {x0} {y} (rst__step A R x0 y __) + --> + case__rst__step x0 y __. + +[ s, A, R, P, case__rst__step, case__rst__refl, case__rst__sym, case__rst__trans, x0] + match____clos__refl__sym__trans s A R P case__rst__step case__rst__refl + case__rst__sym case__rst__trans {x0} {x0} (rst__refl A R x0) + --> + case__rst__refl x0. + +[ s, A, R, P, case__rst__step, case__rst__refl, case__rst__sym, case__rst__trans, x0, y, __] + match____clos__refl__sym__trans s A R P case__rst__step case__rst__refl + case__rst__sym case__rst__trans {y} {x0} (rst__sym A R x0 y __) + --> + case__rst__sym x0 y __. + +[ s, A, R, P, case__rst__step, case__rst__refl, case__rst__sym, case__rst__trans, x0, y, z, __, __0] + match____clos__refl__sym__trans s A R P case__rst__step case__rst__refl + case__rst__sym case__rst__trans {x0} {z} (rst__trans A R x0 y z __ __0) + --> + case__rst__trans x0 y z __ __0. + +[ s, A, R, P, s'] + match____clos__refl__sym__trans s A R + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____clos__refl__sym__trans s' A R (__ => __0 => x => P __ __0 x). + +def clos__refl__sym__trans__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) -> + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + cupicef.Term cupicef.prop (P y x)) -> + f2 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__sym__trans A R a a0) -> + cupicef.Term cupicef.prop (P a a0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (R x y) -> + cupicef.Term cupicef.prop (P x y)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) => + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + cupicef.Term cupicef.prop (P y x)) => + f2 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + __1 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R y z) -> + __2 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__sym__trans A R a a0) + (c : + cupicef.Term cupicef.prop + (clos__refl__sym__trans A R a a0) => + P a a0)))))) + (c => + c + (F => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__sym__trans A R a a0) => + match____clos__refl__sym__trans cupicef.prop A R + (a1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a2 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : cupicef.Term cupicef.prop (clos__refl__sym__trans A R a1 a2) => + P a1 a2) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r : cupicef.Term cupicef.prop (R x y) => + f x y r) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => f0 x) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c0 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) => + f1 x y c0 (F x y c0)) + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c0 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R x y) => + c1 : cupicef.Term cupicef.prop (clos__refl__sym__trans A R y z) => + f2 x y z c0 (F x y c0) c1 (F y z c1)) + a a0 c)) + cupicef.0. + +def clos__refl__sym__trans__1n : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rst1n__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x x). + +def rst1n__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x y) (R y x)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R y z) -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x z). + +[ ] cupicef.code_guarded? _ (rst1n__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rst1n__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__sym__trans__1n : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x __) -> + cupicef.Univ s) -> + case__rst1n__refl : cupicef.Term s (P x (rst1n__refl A R x)) -> + case__rst1n__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x y) (R y x)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R y z) -> + cupicef.Term s (P z (rst1n__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__rst1n__refl, case__rst1n__trans] + match____clos__refl__sym__trans__1n s A R x P case__rst1n__refl + case__rst1n__trans {x} (rst1n__refl A R x) + --> + case__rst1n__refl. + +[ s, A, R, x, P, case__rst1n__refl, case__rst1n__trans, y, z, __, __0] + match____clos__refl__sym__trans__1n s A R x P case__rst1n__refl + case__rst1n__trans {z} (rst1n__trans A R x y z __ __0) + --> + case__rst1n__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__refl__sym__trans__1n s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl__sym__trans__1n s' A R x (__ => x => P __ x). + +def clos__refl__sym__trans__1n__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x y) (R y x)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x a) -> + cupicef.Term cupicef.prop (P x a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + P : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (P x x)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x y) (R y x)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R y z) -> + __1 : cupicef.Term cupicef.prop (P y z) -> + cupicef.Term cupicef.prop (P x z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__sym__trans__1n A R x a) + (c : + cupicef.Term cupicef.prop + (clos__refl__sym__trans__1n A R x a) => + P x a)))))) + (c => + c + (F => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x a) => + match____clos__refl__sym__trans__1n cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R x a0) => + P x a0) + (f x) + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + o : + cupicef.Term cupicef.prop (Coq__Init__Logic.or (R x y) (R y x)) => + c0 : + cupicef.Term cupicef.prop (clos__refl__sym__trans__1n A R y z) => + f0 x y z o c0 (F y z c0)) + a c)) + cupicef.0. + +def clos__refl__sym__trans__n1 : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop. + +def rstn1__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x x). + +def rstn1__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y z) (R z y)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x y) -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x z). + +[ ] cupicef.code_guarded? _ (rstn1__refl _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (rstn1__trans _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____clos__refl__sym__trans__n1 : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x __) -> + cupicef.Univ s) -> + case__rstn1__refl : cupicef.Term s (P x (rstn1__refl A R x)) -> + case__rstn1__trans : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y z) (R z y)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x y) -> + cupicef.Term s (P z (rstn1__trans A R x y z __ __0))) -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x __) -> + cupicef.Term s (P __ x0). + +[ s, A, R, x, P, case__rstn1__refl, case__rstn1__trans] + match____clos__refl__sym__trans__n1 s A R x P case__rstn1__refl + case__rstn1__trans {x} (rstn1__refl A R x) + --> + case__rstn1__refl. + +[ s, A, R, x, P, case__rstn1__refl, case__rstn1__trans, y, z, __, __0] + match____clos__refl__sym__trans__n1 s A R x P case__rstn1__refl + case__rstn1__trans {z} (rstn1__trans A R x y z __ __0) + --> + case__rstn1__trans y z __ __0. + +[ s, A, R, x, P, s'] + match____clos__refl__sym__trans__n1 s A R x + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____clos__refl__sym__trans__n1 s' A R x (__ => x => P __ x). + +def clos__refl__sym__trans__n1__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P x) -> + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y z) (R z y)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) -> + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + c : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x a) -> + cupicef.Term cupicef.prop (P a) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + P : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P x) => + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y z) (R z y)) -> + __0 : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x y) -> + __1 : cupicef.Term cupicef.prop (P y) -> + cupicef.Term cupicef.prop (P z)) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (clos__refl__sym__trans__n1 A R x a) + (c : + cupicef.Term cupicef.prop + (clos__refl__sym__trans__n1 A R x a) => + P a))))) + (c => + c + (F => + a : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + c : cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x a) => + match____clos__refl__sym__trans__n1 cupicef.prop A R x + (a0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + __ : + cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x a0) => + P a0) + f + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + o : + cupicef.Term cupicef.prop (Coq__Init__Logic.or (R y z) (R z y)) => + c0 : + cupicef.Term cupicef.prop (clos__refl__sym__trans__n1 A R x y) => + f0 y z o c0 (F y c0)) + a c)) + cupicef.0. + +def transp : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + R y x. + +def union : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + R2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.or (R1 x y) (R2 x y). + +def le__AsB : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop. + +def le__aa : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x y) -> + cupicef.Term cupicef.prop + (le__AsB A B leA leB (Coq__Init__Datatypes.inl A B x) + (Coq__Init__Datatypes.inl A B y)). + +def le__ab : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (le__AsB A B leA leB (Coq__Init__Datatypes.inl A B x) + (Coq__Init__Datatypes.inr A B y)). + +def le__bb : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB x y) -> + cupicef.Term cupicef.prop + (le__AsB A B leA leB (Coq__Init__Datatypes.inr A B x) + (Coq__Init__Datatypes.inr A B y)). + +[ ] cupicef.code_guarded? _ (le__aa _ _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (le__ab _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (le__bb _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____le__AsB : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (le__AsB A B leA leB __ __0) -> + cupicef.Univ s) -> + case__le__aa : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x0 y) -> + cupicef.Term s + (P (Coq__Init__Datatypes.inl A B x0) (Coq__Init__Datatypes.inl A B y) + (le__aa A B leA leB x0 y __))) -> + case__le__ab : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term s + (P (Coq__Init__Datatypes.inl A B x0) (Coq__Init__Datatypes.inr A B y) + (le__ab A B leA leB x0 y))) -> + case__le__bb : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB x0 y) -> + cupicef.Term s + (P (Coq__Init__Datatypes.inr A B x0) (Coq__Init__Datatypes.inr A B y) + (le__bb A B leA leB x0 y __))) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + x : cupicef.Term cupicef.prop (le__AsB A B leA leB __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, B, leA, leB, P, case__le__aa, case__le__ab, case__le__bb, x0, y, __] + match____le__AsB s A B leA leB P case__le__aa case__le__ab case__le__bb + {Coq__Init__Datatypes.inl A B x0} {Coq__Init__Datatypes.inl A B y} + (le__aa A B leA leB x0 y __) + --> + case__le__aa x0 y __. + +[ s, A, B, leA, leB, P, case__le__aa, case__le__ab, case__le__bb, x0, y] + match____le__AsB s A B leA leB P case__le__aa case__le__ab case__le__bb + {Coq__Init__Datatypes.inl A B x0} {Coq__Init__Datatypes.inr A B y} + (le__ab A B leA leB x0 y) + --> + case__le__ab x0 y. + +[ s, A, B, leA, leB, P, case__le__aa, case__le__ab, case__le__bb, x0, y, __] + match____le__AsB s A B leA leB P case__le__aa case__le__ab case__le__bb + {Coq__Init__Datatypes.inr A B x0} {Coq__Init__Datatypes.inr A B y} + (le__bb A B leA leB x0 y __) + --> + case__le__bb x0 y __. + +[ s, A, B, leA, leB, P, s'] + match____le__AsB s A B leA leB + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____le__AsB s' A B leA leB (__ => __0 => x => P __ __0 x). + +def le__AsB__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x y) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inl A B x) (Coq__Init__Datatypes.inl A B y))) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inl A B x) (Coq__Init__Datatypes.inr A B y))) -> + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB x y) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inr A B x) (Coq__Init__Datatypes.inr A B y))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + l : cupicef.Term cupicef.prop (le__AsB A B leA leB s s0) -> + cupicef.Term cupicef.prop (P s s0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x y) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inl A B x) (Coq__Init__Datatypes.inl A B y))) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inl A B x) (Coq__Init__Datatypes.inr A B y))) => + f1 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB x y) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.inr A B x) (Coq__Init__Datatypes.inr A B y))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + l : cupicef.Term cupicef.prop (le__AsB A B leA leB s s0) => + match____le__AsB cupicef.prop A B leA leB + (s1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + s2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) cupicef.set) + (Coq__Init__Datatypes.sum (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + __ : cupicef.Term cupicef.prop (le__AsB A B leA leB s1 s2) => + P s1 s2) + f f0 f1 s s0 l. + +def lexprod : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop. + +def left__lex : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x_27_) -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + cupicef.Term cupicef.prop + (lexprod A B leA leB (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x_27_ y_27_)). + +def right__lex : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __ : cupicef.Term cupicef.prop (leB x y y_27_) -> + cupicef.Term cupicef.prop + (lexprod A B leA leB (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x y_27_)). + +[ ] cupicef.code_guarded? _ (left__lex _ _ _ _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (right__lex _ _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____lexprod : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (lexprod A B leA leB __ __0) -> + cupicef.Univ s) -> + case__left__lex : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x0) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x_27_) -> + __ : cupicef.Term cupicef.prop (leA x0 x_27_) -> + cupicef.Term s + (P (Coq__Init__Specif.existT A B x0 y) + (Coq__Init__Specif.existT A B x_27_ y_27_) + (left__lex A B leA leB x0 x_27_ y y_27_ __))) -> + case__right__lex : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x0) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x0) -> + __ : cupicef.Term cupicef.prop (leB x0 y y_27_) -> + cupicef.Term s + (P (Coq__Init__Specif.existT A B x0 y) + (Coq__Init__Specif.existT A B x0 y_27_) + (right__lex A B leA leB x0 y y_27_ __))) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + x : cupicef.Term cupicef.prop (lexprod A B leA leB __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, B, leA, leB, P, case__left__lex, case__right__lex, x0, x_27_, y, y_27_, __] + match____lexprod s A B leA leB P case__left__lex case__right__lex + {Coq__Init__Specif.existT A B x0 y} + {Coq__Init__Specif.existT A B x_27_ y_27_} + (left__lex A B leA leB x0 x_27_ y y_27_ __) + --> + case__left__lex x0 x_27_ y y_27_ __. + +[ s, A, B, leA, leB, P, case__left__lex, case__right__lex, x0, y, y_27_, __] + match____lexprod s A B leA leB P case__left__lex case__right__lex + {Coq__Init__Specif.existT A B x0 y} + {Coq__Init__Specif.existT A B x0 y_27_} + (right__lex A B leA leB x0 y y_27_ __) + --> + case__right__lex x0 y y_27_ __. + +[ s, A, B, leA, leB, P, s'] + match____lexprod s A B leA leB + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____lexprod s' A B leA leB (__ => __0 => x => P __ __0 x). + +def lexprod__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x_27_) -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x_27_ y_27_))) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __ : cupicef.Term cupicef.prop (leB x y y_27_) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x y_27_))) -> + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + l : cupicef.Term cupicef.prop (lexprod A B leA leB s s0) -> + cupicef.Term cupicef.prop (P s s0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + leB : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + cupicef.Univ cupicef.prop) => + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x_27_) -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x_27_ y_27_))) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (B x) -> + __ : cupicef.Term cupicef.prop (leB x y y_27_) -> + cupicef.Term cupicef.prop + (P (Coq__Init__Specif.existT A B x y) + (Coq__Init__Specif.existT A B x y_27_))) => + s : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + s0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + l : cupicef.Term cupicef.prop (lexprod A B leA leB s s0) => + match____lexprod cupicef.prop A B leA leB + (s1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + s2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Specif.sigT (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + __ : cupicef.Term cupicef.prop (lexprod A B leA leB s1 s2) => + P s1 s2) + f f0 s s0 l. + +def symprod : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop. + +def left__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (symprod A B leA leB (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x_27_ y)). + +def right__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB y y_27_) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (symprod A B leA leB (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x y_27_)). + +[ ] cupicef.code_guarded? _ (left__sym _ _ _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (right__sym _ _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____symprod : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Term cupicef.prop (symprod A B leA leB __ __0) -> + cupicef.Univ s) -> + case__left__sym : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x0 x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term s + (P (Coq__Init__Datatypes.pair A B x0 y) + (Coq__Init__Datatypes.pair A B x_27_ y) + (left__sym A B leA leB x0 x_27_ __ y))) -> + case__right__sym : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB y y_27_) -> + x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term s + (P (Coq__Init__Datatypes.pair A B x0 y) + (Coq__Init__Datatypes.pair A B x0 y_27_) + (right__sym A B leA leB y y_27_ __ x0))) -> + __ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + x : cupicef.Term cupicef.prop (symprod A B leA leB __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, B, leA, leB, P, case__left__sym, case__right__sym, x0, x_27_, __, y] + match____symprod s A B leA leB P case__left__sym case__right__sym + {Coq__Init__Datatypes.pair A B x0 y} + {Coq__Init__Datatypes.pair A B x_27_ y} + (left__sym A B leA leB x0 x_27_ __ y) + --> + case__left__sym x0 x_27_ __ y. + +[ s, A, B, leA, leB, P, case__left__sym, case__right__sym, y, y_27_, __, x0] + match____symprod s A B leA leB P case__left__sym case__right__sym + {Coq__Init__Datatypes.pair A B x0 y} + {Coq__Init__Datatypes.pair A B x0 y_27_} + (right__sym A B leA leB y y_27_ __ x0) + --> + case__right__sym y y_27_ __ x0. + +[ s, A, B, leA, leB, P, s'] + match____symprod s A B leA leB + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____symprod s' A B leA leB (__ => __0 => x => P __ __0 x). + +def symprod__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x_27_ y))) -> + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB y y_27_) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x y_27_))) -> + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + s : cupicef.Term cupicef.prop (symprod A B leA leB p p0) -> + cupicef.Term cupicef.prop (P p p0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + leA : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + leB : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Univ cupicef.prop) => + P : + (__ : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + __0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + x_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (leA x x_27_) -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x_27_ y))) => + f0 : + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + y_27_ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B -> + __ : cupicef.Term cupicef.prop (leB y y_27_) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop + (P (Coq__Init__Datatypes.pair A B x y) + (Coq__Init__Datatypes.pair A B x y_27_))) => + p : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + p0 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + s : cupicef.Term cupicef.prop (symprod A B leA leB p p0) => + match____symprod cupicef.prop A B leA leB + (p1 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + p2 : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A B) => + __ : cupicef.Term cupicef.prop (symprod A B leA leB p1 p2) => + P p1 p2) + f f0 p p0 s. + +def swapprod : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + __ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + cupicef.Univ cupicef.prop. + +def sp__noswap : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop + (swapprod A R (Coq__Init__Datatypes.pair A A x y) p). + +def sp__swap : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop + (swapprod A R (Coq__Init__Datatypes.pair A A y x) p). + +[ ] cupicef.code_guarded? _ (sp__noswap _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (sp__swap _ _ _ _ _ _) --> cupicef.guarded. + +def match____swapprod : + s : cupicef.Sort -> + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + cupicef.Term cupicef.prop (swapprod A R __ __0) -> + cupicef.Univ s) -> + case__sp__noswap : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x0 y) p) -> + cupicef.Term s + (P (Coq__Init__Datatypes.pair A A x0 y) p (sp__noswap A R x0 y p __))) -> + case__sp__swap : + (x0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x0 y) p) -> + cupicef.Term s + (P (Coq__Init__Datatypes.pair A A y x0) p (sp__swap A R x0 y p __))) -> + __ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + x : cupicef.Term cupicef.prop (swapprod A R __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, R, P, case__sp__noswap, case__sp__swap, x0, y, p, __] + match____swapprod s A R P case__sp__noswap case__sp__swap + {Coq__Init__Datatypes.pair A A x0 y} {p} (sp__noswap A R x0 y p __) + --> + case__sp__noswap x0 y p __. + +[ s, A, R, P, case__sp__noswap, case__sp__swap, x0, y, p, __] + match____swapprod s A R P case__sp__noswap case__sp__swap + {Coq__Init__Datatypes.pair A A y x0} {p} (sp__swap A R x0 y p __) + --> + case__sp__swap x0 y p __. + +[ s, A, R, P, s'] + match____swapprod s A R + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____swapprod s' A R (__ => __0 => x => P __ __0 x). + +def swapprod__ind : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + cupicef.Univ cupicef.prop) -> + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.pair A A x y) p)) -> + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.pair A A y x) p)) -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + p0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + s : cupicef.Term cupicef.prop (swapprod A R p p0) -> + cupicef.Term cupicef.prop (P p p0) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + R : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Univ cupicef.prop) => + P : + (__ : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + cupicef.Univ cupicef.prop) => + f : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.pair A A x y) p)) => + f0 : + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) -> + __ : + cupicef.Term cupicef.prop + (symprod A A R R (Coq__Init__Datatypes.pair A A x y) p) -> + cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.pair A A y x) p)) => + p : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) => + p0 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) => + s : cupicef.Term cupicef.prop (swapprod A R p p0) => + match____swapprod cupicef.prop A R + (p1 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) => + p2 : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) + (Coq__Init__Datatypes.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z)) A A) => + __ : cupicef.Term cupicef.prop (swapprod A R p1 p2) => + P p1 p2) + f f0 p p0 s. + +def Ltl : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Univ cupicef.prop. + +def Lt__nil : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop + (Ltl A leA + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x)). + +def Lt__hd : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + a : cupicef.Term cupicef.set A -> + b : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (leA a b) -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop + (Ltl A leA + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + b y)). + +def Lt__tl : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : cupicef.Term cupicef.prop (Ltl A leA x y) -> + cupicef.Term cupicef.prop + (Ltl A leA + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a y)). + +[ ] cupicef.code_guarded? _ (Lt__nil _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (Lt__hd _ _ _ _ _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (Lt__tl _ _ _ _ _ _) --> cupicef.guarded. + +def match____Ltl : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop (Ltl A leA __ __0) -> + cupicef.Univ s) -> + case__Lt__nil : + (a : cupicef.Term cupicef.set A -> + x0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term s + (P + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x0) + (Lt__nil A leA a x0))) -> + case__Lt__hd : + (a : cupicef.Term cupicef.set A -> + b : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (leA a b) -> + x0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term s + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x0) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + b y) + (Lt__hd A leA a b __ x0 y))) -> + case__Lt__tl : + (a : cupicef.Term cupicef.set A -> + x0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : cupicef.Term cupicef.prop (Ltl A leA x0 y) -> + cupicef.Term s + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x0) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a y) + (Lt__tl A leA a x0 y __))) -> + __ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + x : cupicef.Term cupicef.prop (Ltl A leA __ __0) -> + cupicef.Term s (P __ __0 x). + +[ s, A, leA, P, case__Lt__nil, case__Lt__hd, case__Lt__tl, a, x0] + match____Ltl s A leA P case__Lt__nil case__Lt__hd case__Lt__tl + {Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A)} + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + a x0} + (Lt__nil A leA a x0) + --> + case__Lt__nil a x0. + +[ s, A, leA, P, case__Lt__nil, case__Lt__hd, case__Lt__tl, a, b, __, x0, y] + match____Ltl s A leA P case__Lt__nil case__Lt__hd case__Lt__tl + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + a x0} + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + b y} + (Lt__hd A leA a b __ x0 y) + --> + case__Lt__hd a b __ x0 y. + +[ s, A, leA, P, case__Lt__nil, case__Lt__hd, case__Lt__tl, a, x0, y, __] + match____Ltl s A leA P case__Lt__nil case__Lt__hd case__Lt__tl + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + a x0} + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + a y} + (Lt__tl A leA a x0 y __) + --> + case__Lt__tl a x0 y __. + +[ s, A, leA, P, s'] + match____Ltl s A leA + (__ => + __0 => + x => + cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ __0 x))) + --> + match____Ltl s' A leA (__ => __0 => x => P __ __0 x). + +def let__Nil : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A). + +def let__List : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.list cupicef.set A. + +def Ltl__ind : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Univ cupicef.prop) -> + f : + (a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x))) -> + f0 : + (a : cupicef.Term cupicef.set A -> + b : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (leA a b) -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + b y))) -> + f1 : + (a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : cupicef.Term cupicef.prop (Ltl A leA x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a y))) -> + l : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + l0 : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + l1 : cupicef.Term cupicef.prop (Ltl A leA l l0) -> + cupicef.Term cupicef.prop (P l l0) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term cupicef.set (let__List A leA) -> + __0 : cupicef.Term cupicef.set (let__List A leA) -> + cupicef.Univ cupicef.prop) => + f : + (a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (let__List A leA) -> + cupicef.Term cupicef.prop + (P (let__Nil A leA) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x))) => + f0 : + (a : cupicef.Term cupicef.set A -> + b : cupicef.Term cupicef.set A -> + __ : cupicef.Term cupicef.prop (leA a b) -> + x : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + y : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + b y))) => + f1 : + (a : cupicef.Term cupicef.set A -> + x : cupicef.Term cupicef.set (let__List A leA) -> + y : cupicef.Term cupicef.set (let__List A leA) -> + __ : cupicef.Term cupicef.prop (Ltl A leA x y) -> + __0 : cupicef.Term cupicef.prop (P x y) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a x) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + a y))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.2 cupicef.prop + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (let__List A leA) + (l : cupicef.Term cupicef.set (let__List A leA) => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (let__List A leA) + (l0 : cupicef.Term cupicef.set (let__List A leA) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Ltl A leA l l0) + (l1 : cupicef.Term cupicef.prop (Ltl A leA l l0) => + P l l0)))))) + (c => + c + (F => + l : cupicef.Term cupicef.set (let__List A leA) => + l0 : cupicef.Term cupicef.set (let__List A leA) => + l1 : cupicef.Term cupicef.prop (Ltl A leA l l0) => + match____Ltl cupicef.prop A leA + (l2 : cupicef.Term cupicef.set (let__List A leA) => + l3 : cupicef.Term cupicef.set (let__List A leA) => + __ : cupicef.Term cupicef.prop (Ltl A leA l2 l3) => + P l2 l3) + (a : cupicef.Term cupicef.set A => + x : cupicef.Term cupicef.set (let__List A leA) => + f a x) + (a : cupicef.Term cupicef.set A => + b : cupicef.Term cupicef.set A => + l2 : cupicef.Term cupicef.prop (leA a b) => + x : + cupicef.Term cupicef.set + (Coq__Init__Datatypes.list cupicef.set A) => + y : + cupicef.Term cupicef.set + (Coq__Init__Datatypes.list cupicef.set A) => + f0 a b l2 x y) + (a : cupicef.Term cupicef.set A => + x : cupicef.Term cupicef.set (let__List A leA) => + y : cupicef.Term cupicef.set (let__List A leA) => + l2 : cupicef.Term cupicef.prop (Ltl A leA x y) => + f1 a x y l2 (F x y l2)) + l l0 l1)) + cupicef.0. + +def Desc : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + __ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Univ cupicef.prop. + +def d__nil : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))). + +def d__one : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))). + +def d__conc : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + l : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : + cupicef.Term cupicef.prop + (clos__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + leA x y) -> + __0 : + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))) -> + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))). + +[ ] cupicef.code_guarded? _ (d__nil _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (d__one _ _ _) --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ (d__conc _ _ _ _ _ _ _) --> cupicef.guarded. + +def match____Desc : + s : cupicef.Sort -> + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Term cupicef.prop (Desc A leA __) -> + cupicef.Univ s) -> + case__d__nil : + cupicef.Term s + (P + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)) + (d__nil A leA)) -> + case__d__one : + (x0 : cupicef.Term cupicef.set A -> + cupicef.Term s + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x0 + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))) + (d__one A leA x0))) -> + case__d__conc : + (x0 : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + l : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : + cupicef.Term cupicef.prop + (clos__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + leA x0 y) -> + __0 : + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))) -> + cupicef.Term s + (P + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x0 + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))) + (d__conc A leA x0 y l __ __0))) -> + __ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + x : cupicef.Term cupicef.prop (Desc A leA __) -> + cupicef.Term s (P __ x). + +[ s, A, leA, P, case__d__nil, case__d__one, case__d__conc] + match____Desc s A leA P case__d__nil case__d__one case__d__conc + {Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A)} + (d__nil A leA) + --> + case__d__nil. + +[ s, A, leA, P, case__d__nil, case__d__one, case__d__conc, x0] + match____Desc s A leA P case__d__nil case__d__one case__d__conc + {Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + x0 + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))} + (d__one A leA x0) + --> + case__d__one x0. + +[ s, A, leA, P, case__d__nil, case__d__one, case__d__conc, x0, y, l, __, __0] + match____Desc s A leA P case__d__nil case__d__one case__d__conc + {Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x0 + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))} + (d__conc A leA x0 y l __ __0) + --> + case__d__conc x0 y l __ __0. + +[ s, A, leA, P, s'] + match____Desc s A leA + (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) + --> + match____Desc s' A leA (__ => x => P __ x). + +def let__Nil0 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A). + +def let__List0 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.list cupicef.set A. + +def Desc__ind : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + P : + (__ : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + cupicef.Univ cupicef.prop) -> + f : + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))) -> + f0 : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))) -> + f1 : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + l : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + __ : + cupicef.Term cupicef.prop + (clos__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + leA x y) -> + __0 : + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))) -> + __1 : + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A))))) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x + (Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A)))))) -> + l : cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) -> + d : cupicef.Term cupicef.prop (Desc A leA l) -> + cupicef.Term cupicef.prop (P l) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + P : + (__ : cupicef.Term cupicef.set (let__List0 A leA) -> + cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P (let__Nil0 A leA)) => + f0 : + (x : cupicef.Term cupicef.set A -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x (let__Nil0 A leA)))) => + f1 : + (x : cupicef.Term cupicef.set A -> + y : cupicef.Term cupicef.set A -> + l : cupicef.Term cupicef.set (let__List0 A leA) -> + __ : + cupicef.Term cupicef.prop + (clos__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + leA x y) -> + __0 : + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y (let__Nil0 A leA)))) -> + __1 : + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y (let__Nil0 A leA)))) -> + cupicef.Term cupicef.prop + (P + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y (let__Nil0 A leA))) + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + x (let__Nil0 A leA))))) => + cupicef.fixproj cupicef.1 + (c => + c + (cupicef.SA cupicef.1 cupicef.prop + (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (let__List0 A leA) + (l : cupicef.Term cupicef.set (let__List0 A leA) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Desc A leA l) + (d : cupicef.Term cupicef.prop (Desc A leA l) => P l))))) + (c => + c + (F => + l : cupicef.Term cupicef.set (let__List0 A leA) => + d : cupicef.Term cupicef.prop (Desc A leA l) => + match____Desc cupicef.prop A leA + (l0 : cupicef.Term cupicef.set (let__List0 A leA) => + __ : cupicef.Term cupicef.prop (Desc A leA l0) => + P l0) + f (x : cupicef.Term cupicef.set A => f0 x) + (x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + l0 : cupicef.Term cupicef.set (let__List0 A leA) => + c : + cupicef.Term cupicef.prop + (clos__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + leA x y) => + d0 : + cupicef.Term cupicef.prop + (Desc A leA + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l0 + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y (let__Nil0 A leA)))) => + f1 x y l0 c d0 + (F + (Coq__Init__Datatypes.app + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + l0 + (Coq__Init__Datatypes.cons + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + y (let__Nil0 A leA))) + d0)) + l d)) + cupicef.0. + +def let__Nil1 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A). + +def let__List1 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.list cupicef.set A. + +def Pow : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Specif.sig cupicef.set (let__List1 A leA) (Desc A leA). + +def let__Nil2 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Term cupicef.set (Coq__Init__Datatypes.list cupicef.set A) + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.nil + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A). + +def let__List2 : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + cupicef.Univ cupicef.set + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + Coq__Init__Datatypes.list cupicef.set A. + +def lex__exp : + A : cupicef.Univ cupicef.set -> + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) -> + a : cupicef.Term cupicef.set (Pow A leA) -> + b : cupicef.Term cupicef.set (Pow A leA) -> + cupicef.Univ cupicef.prop + +:= A : cupicef.Univ cupicef.set => + leA : + (__ : cupicef.Term cupicef.set A -> + __0 : cupicef.Term cupicef.set A -> + cupicef.Univ cupicef.prop) => + a : cupicef.Term cupicef.set (Pow A leA) => + b : cupicef.Term cupicef.set (Pow A leA) => + Ltl A leA + (Coq__Init__Specif.proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (let__List2 A leA)) + (Desc A leA) a) + (Coq__Init__Specif.proj1__sig + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I (let__List2 A leA)) + (Desc A leA) b). + +(; End of translation. ;) diff --git a/out/Coq__Relations__Relations.dk b/out/Coq__Relations__Relations.dk new file mode 100644 index 000000000..030cebd4e --- /dev/null +++ b/out/Coq__Relations__Relations.dk @@ -0,0 +1,898 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +thm inverse__image__of__equivalence : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + r : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) -> + __ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence B r) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + r : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation B) => + H : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence B r) => + Coq__Relations__Relation__Definitions.Build__equivalence A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y)) + (Coq__Relations__Relation__Definitions.match____equivalence cupicef.prop + B r + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence B r) => + Coq__Relations__Relation__Definitions.reflexive A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y))) + (cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop))) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f x)))))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + Coq__Relations__Relation__Definitions.reflexive A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y)))))) + cupicef.I + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + equiv__refl (f x))) + H) + (Coq__Relations__Relation__Definitions.match____equivalence cupicef.prop + B r + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence B r) => + Coq__Relations__Relation__Definitions.transitive A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y))) + (cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))))))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))))))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (__tmp : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))))) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))))) + cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (__tmp0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I (r (f x) (f y)) + (H0 : + cupicef.Term cupicef.prop (r (f x) (f y)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (r (f y) (f z)) + (H1 : + cupicef.Term cupicef.prop + (r (f y) (f z)) => + r (f x) (f z)))))))))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + Coq__Relations__Relation__Definitions.transitive A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y)))))) + cupicef.I + (__tmp : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + __tmp0 : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (r (f x) (f y)) => + H1 : cupicef.Term cupicef.prop (r (f y) (f z)) => + equiv__trans (f x) (f y) (f z) H0 H1)) + H) + (Coq__Relations__Relation__Definitions.match____equivalence cupicef.prop + B r + (__ : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence B r) => + Coq__Relations__Relation__Definitions.symmetric A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y))) + (cupicef.cast + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : + cupicef.Term + (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + cupicef.I (r (f x) (f y)) + (H0 : cupicef.Term cupicef.prop (r (f x) (f y)) => + r (f y) (f x)))))))) + (cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I (Coq__Relations__Relation__Definitions.reflexive B r) + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Relations__Relation__Definitions.transitive B r) + (equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Relations__Relation__Definitions.symmetric B r) + (equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + Coq__Relations__Relation__Definitions.symmetric A + (x : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + r (f x) (f y)))))) + cupicef.I + (equiv__refl : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.reflexive B r) => + equiv__trans : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.transitive B r) => + equiv__sym : + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.symmetric B r) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H0 : cupicef.Term cupicef.prop (r (f x) (f y)) => + equiv__sym (f x) (f y) H0)) + H). + +thm inverse__image__of__eq : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) -> + cupicef.Term cupicef.prop + (Coq__Relations__Relation__Definitions.equivalence A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + B : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + f : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) B) => + Coq__Relations__Relation__Definitions.Build__equivalence A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) cupicef.prop + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (Coq__Relations__Relation__Definitions.reflexive A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x))) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f z)) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f z)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f z))))))) + (Coq__Relations__Relation__Definitions.transitive A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f z)) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f z) H H0)) + (cupicef.cast + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f x))))) + (Coq__Relations__Relation__Definitions.symmetric A + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + cupicef.I + (x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y)) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) H)). + +(; End of translation. ;) diff --git a/out/Coq__Setoids__Setoid.dk b/out/Coq__Setoids__Setoid.dk new file mode 100644 index 000000000..252563c80 --- /dev/null +++ b/out/Coq__Setoids__Setoid.dk @@ -0,0 +1,513 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def Setoid__Theory : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + cupicef.Univ cupicef.prop + +:= Coq__Classes__RelationClasses.Equivalence. + +def Build__Setoid__Theory : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + R : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + Equivalence__Reflexive : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Reflexive A R) -> + Equivalence__Symmetric : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Symmetric A R) -> + Equivalence__Transitive : + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Transitive A R) -> + cupicef.Term cupicef.prop (Coq__Classes__RelationClasses.Equivalence A R) + +:= Coq__Classes__RelationClasses.Build__Equivalence. + +def Seq__refl : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.prop (Aeq x x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Classes__RelationClasses.reflexivity A Aeq + (Coq__Classes__RelationClasses.Equivalence__Reflexive A Aeq s) x. + +def Seq__sym : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Aeq x y) -> + cupicef.Term cupicef.prop (Aeq y x) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (Aeq x y) => + Coq__Classes__RelationClasses.symmetry A Aeq + (Coq__Classes__RelationClasses.Equivalence__Symmetric A Aeq s) x y H. + +def Seq__trans : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) -> + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __ : cupicef.Term cupicef.prop (Aeq x y) -> + __0 : cupicef.Term cupicef.prop (Aeq y z) -> + cupicef.Term cupicef.prop (Aeq x z) + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + Aeq : + cupicef.Term + (cupicef.sup (cupicef.type (cupicef.s cupicef.z)) + (cupicef.type (cupicef.s cupicef.z))) + (Coq__Relations__Relation__Definitions.relation A) => + s : cupicef.Term cupicef.prop (Setoid__Theory A Aeq) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + z : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + H : cupicef.Term cupicef.prop (Aeq x y) => + H0 : cupicef.Term cupicef.prop (Aeq y z) => + Coq__Classes__RelationClasses.transitivity A Aeq + (Coq__Classes__RelationClasses.Equivalence__Transitive A Aeq s) x y z H + H0. + +thm gen__st : + A : cupicef.Univ cupicef.set -> + cupicef.Term cupicef.prop + (Setoid__Theory + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + +:= A : cupicef.Univ cupicef.set => + Coq__Classes__RelationClasses.Build__Equivalence + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) + cupicef.I A) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A)) + (cupicef.cast (cupicef.rule cupicef.set cupicef.prop) cupicef.prop + (cupicef.prod cupicef.set cupicef.prop + (cupicef.rule cupicef.set cupicef.prop) cupicef.I A + (x : cupicef.Term cupicef.set A => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (Coq__Classes__RelationClasses.Reflexive + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + cupicef.I + (x : cupicef.Term cupicef.set A => + Coq__Init__Logic.eq__refl + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (x : cupicef.Term cupicef.set A => + cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I A + (y : cupicef.Term cupicef.set A => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x)))) + (Coq__Classes__RelationClasses.Symmetric + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + cupicef.I + (x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + Coq__Init__Logic.eq__sym + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y H)) + (cupicef.cast + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.prop + (cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))))) + cupicef.I A + (x : cupicef.Term cupicef.set A => + cupicef.prod cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)))) + cupicef.I A + (y : cupicef.Term cupicef.set A => + cupicef.prod cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + (cupicef.rule cupicef.set + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop))) + cupicef.I A + (z : cupicef.Term cupicef.set A => + cupicef.prod cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) + (cupicef.rule cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop)) + cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + (H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + cupicef.prod cupicef.prop cupicef.prop + (cupicef.rule cupicef.prop cupicef.prop) cupicef.I + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + (H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast + (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) => + Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.type + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z)))))) + (Coq__Classes__RelationClasses.Transitive + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I A) + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A))) + cupicef.I + (x : cupicef.Term cupicef.set A => + y : cupicef.Term cupicef.set A => + z : cupicef.Term cupicef.set A => + H : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) => + H0 : + cupicef.Term cupicef.prop + (Coq__Init__Logic.eq + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set + (cupicef.type (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) => + Coq__Init__Logic.eq__trans + (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z H H0)). + +(; End of translation. ;) diff --git a/out/Coq__Structures__Equalities.dk b/out/Coq__Structures__Equalities.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Structures__Equalities.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Structures__GenericMinMax.dk b/out/Coq__Structures__GenericMinMax.dk new file mode 100644 index 000000000..2c1b4fec2 --- /dev/null +++ b/out/Coq__Structures__GenericMinMax.dk @@ -0,0 +1,48 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def gmax : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cmp : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cmp : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Datatypes.match____comparison + (cupicef.type (cupicef.s cupicef.z)) + (x0 : cupicef.Term cupicef.set Coq__Init__Datatypes.comparison => A) x y + x (cmp x y). + +def gmin : + A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) -> + cmp : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison) -> + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A + +:= A : cupicef.Univ (cupicef.type (cupicef.s cupicef.z)) => + cmp : + (__ : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + __0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A -> + cupicef.Term cupicef.set Coq__Init__Datatypes.comparison) => + x : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + y : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) A => + Coq__Init__Datatypes.match____comparison + (cupicef.type (cupicef.s cupicef.z)) + (x0 : cupicef.Term cupicef.set Coq__Init__Datatypes.comparison => A) x x + y (cmp x y). + +(; End of translation. ;) diff --git a/out/Coq__Structures__Orders.dk b/out/Coq__Structures__Orders.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Structures__Orders.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Structures__OrdersFacts.dk b/out/Coq__Structures__OrdersFacts.dk new file mode 100644 index 000000000..0175c2437 --- /dev/null +++ b/out/Coq__Structures__OrdersFacts.dk @@ -0,0 +1,4 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +(; End of translation. ;) diff --git a/out/Coq__Structures__OrdersTac.dk b/out/Coq__Structures__OrdersTac.dk new file mode 100644 index 000000000..298db919d --- /dev/null +++ b/out/Coq__Structures__OrdersTac.dk @@ -0,0 +1,131 @@ +(; This file was automatically generated by Coqine. ;) +(; The encoding used was: "template_cic". ;) + +def ord : + cupicef.Univ cupicef.set. + +def OEQ : + cupicef.Term cupicef.set ord. + +def OLT : + cupicef.Term cupicef.set ord. + +def OLE : + cupicef.Term cupicef.set ord. + +[ ] cupicef.code_guarded? _ OEQ --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ OLT --> cupicef.guarded. + +[ ] cupicef.code_guarded? _ OLE --> cupicef.guarded. + +def match____ord : + s : cupicef.Sort -> + P : (cupicef.Term cupicef.set ord -> cupicef.Univ s) -> + case__OEQ : cupicef.Term s (P OEQ) -> + case__OLT : cupicef.Term s (P OLT) -> + case__OLE : cupicef.Term s (P OLE) -> + x : cupicef.Term cupicef.set ord -> + cupicef.Term s (P x). + +[ s, P, case__OEQ, case__OLT, case__OLE] + match____ord s P case__OEQ case__OLT case__OLE OEQ + --> + case__OEQ. + +[ s, P, case__OEQ, case__OLT, case__OLE] + match____ord s P case__OEQ case__OLT case__OLE OLT + --> + case__OLT. + +[ s, P, case__OEQ, case__OLT, case__OLE] + match____ord s P case__OEQ case__OLT case__OLE OLE + --> + case__OLE. + +[ s, P, s'] + match____ord s (x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P x))) + --> + match____ord s' (x => P x). + +def ord__rect : + P : + (o : cupicef.Term cupicef.set ord -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) -> + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OEQ) -> + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OLT) -> + f1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OLE) -> + o : cupicef.Term cupicef.set ord -> + cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P o) + +:= P : + (o : cupicef.Term cupicef.set ord -> + cupicef.Univ (cupicef.type (cupicef.s cupicef.z))) => + f : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OEQ) => + f0 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OLT) => + f1 : cupicef.Term (cupicef.type (cupicef.s cupicef.z)) (P OLE) => + o : cupicef.Term cupicef.set ord => + match____ord (cupicef.type (cupicef.s cupicef.z)) + (o0 : cupicef.Term cupicef.set ord => P o0) f f0 f1 o. + +def ord__ind : + P : (o : cupicef.Term cupicef.set ord -> cupicef.Univ cupicef.prop) -> + f : cupicef.Term cupicef.prop (P OEQ) -> + f0 : cupicef.Term cupicef.prop (P OLT) -> + f1 : cupicef.Term cupicef.prop (P OLE) -> + o : cupicef.Term cupicef.set ord -> + cupicef.Term cupicef.prop (P o) + +:= P : (o : cupicef.Term cupicef.set ord -> cupicef.Univ cupicef.prop) => + f : cupicef.Term cupicef.prop (P OEQ) => + f0 : cupicef.Term cupicef.prop (P OLT) => + f1 : cupicef.Term cupicef.prop (P OLE) => + o : cupicef.Term cupicef.set ord => + match____ord cupicef.prop (o0 : cupicef.Term cupicef.set ord => P o0) f f0 + f1 o. + +def ord__rec : + P : (o : cupicef.Term cupicef.set ord -> cupicef.Univ cupicef.set) -> + f : cupicef.Term cupicef.set (P OEQ) -> + f0 : cupicef.Term cupicef.set (P OLT) -> + f1 : cupicef.Term cupicef.set (P OLE) -> + o : cupicef.Term cupicef.set ord -> + cupicef.Term cupicef.set (P o) + +:= P : (o : cupicef.Term cupicef.set ord -> cupicef.Univ cupicef.set) => + ord__rect + (cupicef.cast + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + (cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) + (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) + cupicef.I ord + (o : cupicef.Term cupicef.set ord => + cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) + (cupicef.rule cupicef.set + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z)))) + cupicef.I ord + (o : cupicef.Term cupicef.set ord => + cupicef.univ (cupicef.type (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I)) + cupicef.I P). + +def trans__ord : + o : cupicef.Term cupicef.set ord -> + o_27_ : cupicef.Term cupicef.set ord -> + cupicef.Term cupicef.set ord + +:= o : cupicef.Term cupicef.set ord => + o_27_ : cupicef.Term cupicef.set ord => + match____ord cupicef.set (o0 : cupicef.Term cupicef.set ord => ord) o_27_ + (match____ord cupicef.set (o_27_0 : cupicef.Term cupicef.set ord => ord) + o OLT OLT o_27_) + (match____ord cupicef.set (o_27_0 : cupicef.Term cupicef.set ord => ord) + o OLT OLE o_27_) + o. + +(; End of translation. ;) diff --git a/out/Makefile b/out/Makefile new file mode 100644 index 000000000..103ed004a --- /dev/null +++ b/out/Makefile @@ -0,0 +1,4 @@ +all: + dune exec lambdapi -- check --lib-root=. -c cupicef.lp + dune exec lambdapi -- check --lib-root=. -c Coq__Init__Logic.dk + dune exec lambdapi -- check --lib-root=. -c Coq__Init__Datatypes.dk \ No newline at end of file diff --git a/out/cupicef.lp b/out/cupicef.lp new file mode 100644 index 000000000..42d29c894 --- /dev/null +++ b/out/cupicef.lp @@ -0,0 +1,345 @@ +constant symbol Sort : TYPE; +symbol sup : Sort → Sort → Sort; +constant symbol Univ : Π (s : Sort), TYPE; +symbol Term : Π (s : Sort), Π (a : Univ s), TYPE; +constant symbol Bool : TYPE; +constant symbol eps : Bool → TYPE; +constant symbol true : Bool; +constant symbol I : eps true; +symbol Axiom : Sort → Sort → Bool; +symbol Rule : Sort → Sort → Sort → Bool; +symbol Cumul : Sort → Sort → Bool; +symbol Eq : Sort → Sort → Bool; +rule Eq $x $x ↪ true; +associative commutative symbol and : Bool → Bool → Bool; +rule and true $c ↪ $c; +symbol BoolO : TYPE; +constant symbol BoolNone : BoolO; +constant symbol BoolSome : Bool → BoolO; +symbol Multi : Bool → BoolO → TYPE; +rule Multi $A BoolNone ↪ eps $A +with Multi $A (BoolSome $B) ↪ eps $B + → Π (C : BoolO), Multi (and $A $B) C; +constant symbol pair : Π (A : BoolO), Multi true A; +symbol SortO : TYPE; +constant symbol SortNone : SortO; +constant symbol SortSome : Sort → SortO; +symbol Trans : Sort → Sort → SortO → TYPE; +rule Trans $s1 $s2 SortNone ↪ eps (Cumul $s1 $s2) +with Trans $s1 $s2 (SortSome $s3) ↪ eps (Cumul $s2 $s3) + → Π (so : SortO), Trans $s1 $s3 so; +constant symbol trans : Π (s : Sort), Π (so : SortO), Trans s s so; +constant symbol cumul_eq + : Π (s1 : Sort), Π (s2 : Sort), eps (Eq s1 s2) → eps (Cumul s1 s2); +constant symbol eq_sym + : Π (s1 : Sort), Π (s2 : Sort), eps (Eq s1 s2) → eps (Eq s2 s1); +symbol univ : Π (s : Sort), Π (s' : Sort), eps (Axiom s s') → Univ s'; +symbol prod + : Π (s1 : Sort), + Π (s2 : Sort), + Π (s3 : Sort), + eps (Rule s1 s2 s3) + → Π (a : Univ s1), Π (b : Term s1 a → Univ s2), Univ s3; +symbol SubType : Π (s : Sort), Π (s' : Sort), Univ s → Univ s' → Bool; +symbol cast + : Π (s : Sort), + Π (s' : Sort), + Π (a : Univ s), + Π (b : Univ s'), eps (SubType s s' a b) → Term s a → Term s' b; +constant symbol sinf : Sort; +symbol Code ≔ Univ sinf; +symbol Decode : Code → TYPE; +symbol uncode : Π (t : Code), Code → Decode t; +symbol code : Π (t : Code), Decode t → Code; +constant symbol cU : Π (s : Sort), Code; +constant symbol cPi : Π (A : Code), (Decode A → Code) → Code; +constant symbol cLam : Π (A : Code), (Decode A → Code) → Code; +symbol cApp : Code → Code → Code; +rule Decode (cU $s) ↪ Univ $s; +rule Decode (cPi $a $b) ↪ Π (x : Decode $a), Decode ($b x); +rule code (cU sinf) $t ↪ $t; +rule uncode (cU sinf) $t ↪ $t; +rule Term $s $t ↪ Decode (code (cU $s) $t); +rule univ $s $s' $p ↪ uncode (cU $s') (cU $s); +rule prod $s1 $s2 $s3 $p $a $b ↪ uncode (cU $s3) + (cPi (code (cU $s1) $a) + (λ x, code (cU $s2.[]) ($b.[] x))); +rule cast $s1 $s2 $a $b _ $t ↪ uncode (code (cU $s2) $b) + (code (code (cU $s1) $a) $t); +rule Cumul $s $s ↪ true; +symbol forall : (Code → Bool) → Bool; +rule forall (λ x, $B.[]) ↪ $B; +symbol ST : Code → Code → Bool; +symbol EQ : Code → Code → Bool; +rule ST (cU $s1) (cU $s2) ↪ Cumul $s1 $s2; +rule EQ (cU $s1) (cU $s2) ↪ Eq $s1 $s2; +rule ST (cPi $a $b) (cPi $a' $b') ↪ and (EQ $a $a') + (forall + (λ (x : Code), + ST ($b.[] (uncode $a.[] x)) + ($b'.[] (uncode $a'.[] x)))); +rule EQ (cPi $a $b) (cPi $a' $b') ↪ and (EQ $a $a') + (forall + (λ (x : Code), + EQ ($b.[] (uncode $a.[] x)) + ($b'.[] (uncode $a'.[] x)))); +rule EQ $A $A ↪ true; +rule ST $A $A ↪ true; +rule SubType $sa $sb $a $b ↪ ST (code (cU $sa) $a) (code (cU $sb) $b); +rule code _ (uncode _ $t) ↪ $t; +rule code (cPi $A $B) $F ↪ cLam $A (λ x, code ($B.[] x) ($F.[] x)); +rule uncode (cPi $A $B) $F $U ↪ uncode ($B $U) (cApp $F (code $A $U)); +rule uncode (cPi $A $B) (cLam $A' $F) ↪ λ x, + uncode ($B x) + ($F (uncode $A' (code $A x))); +rule cApp (code (cPi $A $B) $F) $U ↪ code ($B (uncode $A $U)) + ($F (uncode $A $U)); +rule cApp (cLam $A $F) $U ↪ $F (uncode $A $U); +rule uncode $s (code $s $t) ↪ $t; +symbol univ' (s : Sort) (s' : Sort) ≔ uncode (cU s') (cU s); +symbol lift' (s : Sort) (s' : Sort) (t : Univ s) + ≔ uncode (cU s') (code (cU s) t); +symbol prod' (s1 : Sort) (s2 : Sort) (s : Sort) (A : Univ s1) + (B : Term s1 A → Univ s2) : Univ s + ≔ uncode (cU s) (cPi (code (cU s1) A) (λ x, code (cU s2) (B x))); +constant symbol Nat : TYPE; +symbol s : Nat → Nat; +constant symbol z : Nat; +constant symbol prop : Sort; +constant symbol {|type|} : Nat → Sort; +symbol set : Sort ≔ {|type|} z; +symbol type0 : Sort ≔ {|type|} (s z); +associative commutative symbol max : Nat → Nat → Nat; +rule max $i z ↪ $i; +rule s (max $i $j) ↪ max (s $i) (s $j); +rule max $i $i ↪ $i +with max $i (max $i $j) ↪ max $i $j +with max $i (s $i) ↪ s $i +with max $i (max (s $i) $j) ↪ max (s $i) $j +with max $i (s (max $i $j)) ↪ s (max $i $j) +with max (max $i $k) (s (max $i $j)) ↪ max $k (s (max $i $j)); + +rule max z $i ↪ $i; +rule s (max $i $j) ↪ max (s $i) (s $j); +rule max $i $i ↪ $i +with max (max $i $j) $i ↪ max $i $j +with max (s $i) $i ↪ s $i +with max (max (s $i) $j) $i ↪ max (s $i) $j +with max (s (max $i $j)) $i ↪ s (max $i $j) +with max (s (max $i $j)) (max $i $k) ↪ max $k (s (max $i $j)); + +rule sup prop $s ↪ $s +with sup $s prop ↪ $s +with sup ({|type|} $i) ({|type|} $j) ↪ {|type|} (max $i $j); +symbol Leq : Nat → Nat → Bool; +rule Leq z $j ↪ true +with Leq (s $i) (s $j) ↪ Leq $i $j +with Leq (max $i $j) $k ↪ and (Leq $i $k) (Leq $j $k) +with Leq $i $i ↪ true +with Leq $i (s $i) ↪ true +with Leq $i (max $i $j) ↪ true +with Leq $i (max (s $i) $j) ↪ true; +rule Axiom prop ({|type|} _) ↪ true +with Axiom ({|type|} $i) ({|type|} $j) ↪ Leq $i $j; +rule Rule _ prop prop ↪ true +with Rule prop ({|type|} $i) ({|type|} $i) ↪ true +with Rule ({|type|} $i) ({|type|} $j) ({|type|} $k) ↪ Leq (max $i $j) $k; +rule Cumul prop prop ↪ true +with Cumul prop ({|type|} $i) ↪ true +with Cumul ({|type|} $i) ({|type|} $j) ↪ Leq $i $j; +symbol axiom : Sort → Sort; +rule axiom prop ↪ {|type|} z +with axiom ({|type|} $i) ↪ {|type|} (s $i); +rule Axiom $x (axiom $x) ↪ true; +symbol {|rule|} : Sort → Sort → Sort; +rule {|rule|} prop $s ↪ $s +with {|rule|} _ prop ↪ prop +with {|rule|} ({|type|} $i) ({|type|} $j) ↪ {|type|} (max $i $j); +rule Rule $s1 $s2 ({|rule|} $s1 $s2) ↪ true; +rule Rule $s $s $s ↪ true; +constant symbol N : TYPE; +constant symbol 0 : N; +constant symbol _S : N → N; +symbol 1 ≔ _S 0; +symbol 2 ≔ _S 1; +symbol 3 ≔ _S 2; +symbol 4 ≔ _S 3; +symbol 5 ≔ _S 4; +symbol 6 ≔ _S 5; +symbol 7 ≔ _S 6; +symbol 8 ≔ _S 7; +symbol 9 ≔ _S 8; +constant symbol SingleArity : TYPE; +constant symbol SAcons : N → Code → SingleArity; +symbol SA_code : SingleArity → Code; +rule SA_code (SAcons _ $A) ↪ $A; +constant symbol MutualArity : N → TYPE; +constant symbol MAnil : MutualArity 0; +constant symbol MAcons + : Π (n : N), SingleArity → MutualArity n → MutualArity (_S n); +symbol MA_ith_SA : Π (n : N), MutualArity n → N → SingleArity; +rule MA_ith_SA _ (MAcons _ $SA _) 0 ↪ $SA; +rule MA_ith_SA _ (MAcons $n _ $MA) (_S $i) ↪ MA_ith_SA $n $MA $i; +symbol MA_ith_code (n : N) (MA : MutualArity n) (i : N) : Code + ≔ SA_code (MA_ith_SA n MA i); +symbol MA_lift_code : Code → Π (m : N), MutualArity m → Code; +rule MA_lift_code $B _ MAnil ↪ $B; +rule MA_lift_code $B _ (MAcons $m $SA $MA) ↪ cPi (SA_code $SA) + (λ f, + MA_lift_code $B.[] $m.[] + $MA.[]); +symbol MA_code (n : N) (MA : MutualArity n) (i : N) : Code + ≔ MA_lift_code (MA_ith_code n MA i) n MA; +constant symbol MutualFixpointAux + : Π (n : N), MutualArity n → Π (i : N), MutualArity i → TYPE; +symbol MutualFixpoint (n : N) (MA : MutualArity n) : TYPE + ≔ MutualFixpointAux n MA n MA; +constant symbol MFTnil + : Π (n : N), Π (MA : MutualArity n), MutualFixpointAux n MA 0 MAnil; +constant symbol MFTcons + : Π (n : N), + Π (MAn : MutualArity n), + Π (i : N), + Π (MAi : MutualArity i), + Π (SA : SingleArity), + Decode (MA_lift_code (SA_code SA) n MAn) + → MutualFixpointAux n MAn i MAi + → MutualFixpointAux n MAn (_S i) (MAcons i SA MAi); +symbol fix_body + : Π (n : N), + Π (MA : MutualArity n), + MutualFixpoint n MA → Π (i : N), Decode (MA_code n MA i); +symbol fix_body' + : Π (n : N), + Π (MAn : MutualArity n), + Π (i : N), + Π (MAi : MutualArity i), + MutualFixpointAux n MAn i MAi + → Π (j : N), + Decode (MA_lift_code (SA_code (MA_ith_SA i MAi j)) n MAn); +rule fix_body $n $MA $MF $i ↪ fix_body' $n $MA $n $MA $MF $i; +rule fix_body' $n $MA (_S _) (MAcons _ $SA _) (MFTcons _ _ _ _ _ $t _) 0 ↪ $t; +rule fix_body' $n $MA (_S _) (MAcons $i _ $MAi) (MFTcons _ _ _ _ _ _ $MFT) + (_S $j) ↪ fix_body' $n $MA $i $MAi $MFT $j; +symbol app_body + : Π (n : N), + Π (MA : MutualArity n), + Π (A : Code), + Π (B : Decode A → Code), + Π (body : Decode (MA_lift_code (cPi A B) n MA)), + Π (a : Decode A), Decode (MA_lift_code (B a) n MA); +rule app_body _ MAnil _ _ $body $a ↪ $body $a; +rule app_body _ (MAcons $n $SA $MA) $A $B $body $a ↪ λ f, + app_body $n $MA $A + $B ($body f) $a; +constant symbol Guarded? : TYPE; +constant symbol guarded : Guarded?; +symbol code_guarded? : Π (Ind : Code), Decode Ind → Guarded?; +symbol guarded? : Π (s : Sort), Π (Ind : Univ s), Term s Ind → Guarded?; +rule guarded? $s $Ind $c ↪ code_guarded? (code (cU $s) $Ind) $c; +symbol fix_proj + : Π (n : N), + Π (MA : MutualArity n), + MutualFixpoint n MA → Π (i : N), Decode (MA_ith_code n MA i); +symbol fix_proj_1 + : Π (n : N), + Π (MA : MutualArity n), + MutualFixpoint n MA + → Π (SA : SingleArity), + Decode (MA_lift_code (SA_code SA) n MA) → Decode (SA_code SA); +rule fix_proj $n $MA $MF $i ↪ fix_proj_1 $n $MA $MF (MA_ith_SA $n $MA $i) + (fix_body $n $MA $MF $i); +rule fix_proj_1 $n $MA $MF (SAcons (_S $i) (cPi $A $B)) $body $a ↪ +fix_proj_1 $n $MA $MF (SAcons $i ($B $a)) (app_body $n $MA $A $B $body $a); +symbol fix_proj_2 + : Π (n : N), + Π (MA : MutualArity n), + MutualFixpoint n MA + → Π (A : Code), + Decode (MA_lift_code A n MA) → Guarded? → Decode A; +rule fix_proj_1 $n $MA $MF (SAcons 0 (cPi $Ind $B)) $body $a ↪ fix_proj_2 + $n $MA $MF + (cPi $Ind $B) + $body + (code_guarded? + $Ind $a) + $a; +symbol fix_proj_3 + : Π (A : Code), + Π (i : N), + Π (MAi : MutualArity i), + Π (f : Π (k : N), Decode (MA_ith_code i MAi k)), + Decode (MA_lift_code A i MAi) → Decode A; +rule fix_proj_2 $n $MA $MF $A $body guarded ↪ fix_proj_3 $A $n $MA + (λ k, + fix_proj $n.[] $MA.[] + $MF.[] k) + $body; +rule fix_proj_3 _ _ MAnil _ $body ↪ $body; +rule fix_proj_3 $A _ (MAcons $i _ $MAi) $f $body ↪ fix_proj_3 $A $i $MAi + (λ k, $f.[] (_S k)) + ($body ($f 0)); +symbol MutualArity' : N → N → TYPE; +rule MutualArity' $n 0 ↪ MutualArity $n; +rule MutualArity' $n (_S $i) ↪ SingleArity → MutualArity' $n $i; +symbol MA_magic + : Π (n : N), + Π (m : N), SingleArity → MutualArity' n m → MutualArity' (_S n) m; +rule MA_magic $n 0 $A $MA ↪ MAcons $n $A $MA; +rule MA_magic $n (_S $m) $A $MA $A' ↪ MA_magic $n $m $A ($MA $A'); +symbol make_MA : Π (n : N), MutualArity' n n; +rule make_MA 0 ↪ MAnil; +rule make_MA (_S $n) $SA ↪ MA_magic $n $n $SA (make_MA $n); +symbol MutualFixpoint' + : Π (n : N), + MutualArity n + → Π (i : N), MutualArity i → Π (j : N), MutualArity j → TYPE; +rule MutualFixpoint' $n $MAn $i $MAi _ MAnil ↪ MutualFixpointAux $n $MAn $i + $MAi; +rule MutualFixpoint' $n $MAn $i $MAi _ (MAcons $j $SA $MAj) ↪ Decode + (MA_lift_code + (SA_code $SA) + $n $MAn) + → MutualFixpoint' + $n $MAn + $i $MAi + $j $MAj; +symbol fix_magic + : Π (n : N), + Π (MAn : MutualArity n), + Π (i : N), + Π (MAi : MutualArity i), + Π (j : N), + Π (MAj : MutualArity j), + Π (SA : SingleArity), + Decode (MA_lift_code (SA_code SA) n MAn) + → MutualFixpoint' n MAn i MAi j MAj + → MutualFixpoint' n MAn (_S i) (MAcons i SA MAi) j + MAj; +rule fix_magic $n $MAn $i $MAi _ MAnil $SA $t $MFT ↪ MFTcons $n $MAn $i + $MAi $SA $t $MFT; +rule fix_magic $n $MAn $i $MAi (_S _) (MAcons $j _ $MAj) $SA $t $MFT $t' ↪ +fix_magic $n $MAn $i $MAi $j $MAj $SA $t ($MFT $t'); +symbol make_fix + : Π (n : N), + Π (MAn : MutualArity n), + Π (i : N), + Π (MAi : MutualArity i), MutualFixpoint' n MAn i MAi i MAi; +rule make_fix $n $MAn _ MAnil ↪ MFTnil $n $MAn; +rule make_fix $n $MAn (_S _) (MAcons $j $SA $MAj) $t ↪ fix_magic $n $MAn $j + $MAj $j $MAj $SA $t + (make_fix $n $MAn $j + $MAj); +symbol SA : N → Π (s : Sort), Univ s → SingleArity; +rule SA $n $s $t ↪ SAcons $n (code (cU $s) $t); +symbol fix + : Π (n : N), Π (MA : MutualArity n), MutualFixpoint' n MA n MA n MA; +rule fix $n $MAn ↪ make_fix $n $MAn $n $MAn; +symbol fixproj + : Π (n : N), + Π (MA : MutualArity' n n → MutualArity n), + (MutualFixpoint' n (MA (make_MA n)) n (MA (make_MA n)) n + (MA (make_MA n)) → MutualFixpoint n (MA (make_MA n))) + → Π (i : N), Decode (MA_ith_code n (MA (make_MA n)) i); +rule fixproj $n $MA $MF ↪ fix_proj $n ($MA (make_MA $n)) + ($MF (fix $n ($MA (make_MA $n)))); diff --git a/out/lambdap.elpi b/out/lambdap.elpi new file mode 100644 index 000000000..0f2e420ab --- /dev/null +++ b/out/lambdap.elpi @@ -0,0 +1,1298 @@ +% automatically generated + +% ---- Lambdapi datatypes ---- + +% A symbol +typeabbrev symbol (ctype "symbol"). + + + +kind term type. +type typ term. +type kin term. +type symb symbol -> term. +type appl term -> term -> term. +type abst term -> (term -> term) -> term. +type prod term -> (term -> term) -> term. + + +kind sealed-goal type. +type nabla (term -> sealed-goal) -> sealed-goal. +type seal goal -> sealed-goal. + +kind goal type. +type goal list prop -> term -> term -> goal. + +type of term -> term -> prop. + +pred msolve o:list sealed-goal. + + + +% ---- Builtin predicates ---- + +% [lp.sig S T] Gives the type of a symbol +external pred lp.sig i:symbol, o:term. + +% [lp.tc-instances L] Gives the list of type class instances +external pred lp.tc-instances o:list symbol. + +% [lp.tc? S] Tells if S is a type class +external pred lp.tc? i:symbol. + +% [lp.term->string T S] Pretty prints a term T to the string S +external pred lp.term->string i:term, o:string. + +% ---- Elpi predicates ---- + +% == Core builtins ===================================== + +% -- Logic -- + +pred true. + +true. + +pred fail. + +pred false. + +external pred (=) o:A, o:A. % unification + +typeabbrev int (ctype "int"). + + +typeabbrev string (ctype "string"). + + +typeabbrev float (ctype "float"). + + +pred (;) o:prop, o:prop. + +(A ; _) :- A. + +(_ ; B) :- B. + +type (:-) prop -> prop -> prop. + +type (:-) prop -> list prop -> prop. + +type (,) variadic prop prop. + +type uvar A. + +type (as) A -> A -> A. + +type (=>) prop -> prop -> prop. + +type (=>) list prop -> prop -> prop. + +% -- Control -- + +external pred !. % The cut operator + +pred not i:prop. + +not X :- X, !, fail. + +not _. + +% [declare_constraint C Key1 Key2...] declares C blocked +% on Key1 Key2 ... (variables, or lists thereof). +external type declare_constraint variadic any prop. + +external pred print_constraints. % prints all constraints + +% [halt ...] halts the program and print the terms +external type halt variadic any prop. + +pred stop. + +stop :- halt. + +% -- Evaluation -- + +% [calc Expr Out] unifies Out with the value of Expr. It can be used in +% tandem with spilling, eg [f {calc (N + 1)}] +external pred calc i:A, o:A. + +pred (is) o:A, i:A. + +X is Y :- calc Y X. + +type (-) A -> A -> A. + +type (i-) int -> int -> int. + +type (r-) float -> float -> float. + +type (+) int -> int -> int. + +type (+) float -> float -> float. + +type (i+) int -> int -> int. + +type (r+) float -> float -> float. + +type (*) int -> int -> int. + +type (*) float -> float -> float. + +type (/) float -> float -> float. + +type (mod) int -> int -> int. + +type (div) int -> int -> int. + +type (^) string -> string -> string. + +type (~) int -> int. + +type (~) float -> float. + +type (i~) int -> int. + +type (r~) float -> float. + +type abs int -> int. + +type abs float -> float. + +type iabs int -> int. + +type rabs float -> float. + +type max int -> int -> int. + +type max float -> float -> float. + +type min int -> int -> int. + +type min float -> float -> float. + +type sqrt float -> float. + +type sin float -> float. + +type cos float -> float. + +type arctan float -> float. + +type ln float -> float. + +type int_to_real int -> float. + +type floor float -> int. + +type ceil float -> int. + +type truncate float -> int. + +type size string -> int. + +type chr int -> string. + +type rhc string -> int. + +type string_to_int string -> int. + +type int_to_string int -> string. + +type substring string -> int -> int -> string. + +type real_to_string float -> string. + +% -- Arithmetic tests -- + +% [lt_ X Y] checks if X < Y. Works for string, int and float +external pred lt_ i:A, i:A. + +% [gt_ X Y] checks if X > Y. Works for string, int and float +external pred gt_ i:A, i:A. + +% [le_ X Y] checks if X =< Y. Works for string, int and float +external pred le_ i:A, i:A. + +% [ge_ X Y] checks if X >= Y. Works for string, int and float +external pred ge_ i:A, i:A. + +type (<), (>), (=<), (>=) A -> A -> prop. + +X > Y :- gt_ X Y. + +X < Y :- lt_ X Y. + +X =< Y :- le_ X Y. + +X >= Y :- ge_ X Y. + +type (i<), (i>), (i=<), (i>=) int -> int -> prop. + +X i< Y :- lt_ X Y. + +X i> Y :- gt_ X Y. + +X i=< Y :- le_ X Y. + +X i>= Y :- ge_ X Y. + +type (r<), (r>), (r=<), (r>=) float -> float -> prop. + +X r< Y :- lt_ X Y. + +X r> Y :- gt_ X Y. + +X r=< Y :- le_ X Y. + +X r>= Y :- ge_ X Y. + +type (s<), (s>), (s=<), (s>=) string -> string -> prop. + +X s< Y :- lt_ X Y. + +X s> Y :- gt_ X Y. + +X s=< Y :- le_ X Y. + +X s>= Y :- ge_ X Y. + +% -- Standard data types (supported in the FFI) -- + +kind list type -> type. + +type (::) X -> list X -> list X. + +type ([]) list X. + +% Boolean values: tt and ff since true and false are predicates +kind bool type. +type tt bool. +type ff bool. + +% Pair: the constructor is pr, since ',' is for conjunction +kind pair type -> type -> type. +type pr A -> B -> pair A B. + +pred fst i:pair A B, o:A. + +fst (pr A _) A. + +pred snd i:pair A B, o:B. + +snd (pr _ B) B. + +% The option type (aka Maybe) +kind option type -> type. +type none option A. +type some A -> option A. + +% Result of a comparison +kind cmp type. +type eq cmp. +type lt cmp. +type gt cmp. + +% Used in builtin variants that return Coq's error rather than failing +kind diagnostic type. +type ok diagnostic. % Success +type error string -> diagnostic. % Failure + +% == I/O builtins ===================================== + +% -- I/O -- + +typeabbrev in_stream (ctype "in_stream"). + +type std_in in_stream. + +typeabbrev out_stream (ctype "out_stream"). + +type std_out out_stream. +type std_err out_stream. + +% [open_in FileName InStream] opens FileName for input +external pred open_in i:string, o:in_stream. + +% [open_out FileName OutStream] opens FileName for output +external pred open_out i:string, o:out_stream. + +% [open_append FileName OutStream] opens FileName for output in append mode +external pred open_append i:string, o:out_stream. + +% [close_in InStream] closes input stream InStream +external pred close_in i:in_stream. + +% [close_out OutStream] closes output stream OutStream +external pred close_out i:out_stream. + +% [output OutStream Data] writes Data to OutStream +external pred output i:out_stream, i:string. + +% [flush OutStream] flush all output not yet finalized to OutStream +external pred flush i:out_stream. + +% [input InStream Bytes Data] reads Bytes from InStream +external pred input i:in_stream, i:int, o:string. + +% [input_line InStream Line] reads a full line from InStream +external pred input_line i:in_stream, o:string. + +% [eof InStream] checks if no more data can be read from InStream +external pred eof i:in_stream. + +% -- System -- + +% [gettimeofday T] sets T to the number of seconds elapsed since 1/1/1970 +external pred gettimeofday o:float. + +% [getenv VarName Value] Like Sys.getenv +external pred getenv i:string, o:option string. + +% [system Command RetVal] executes Command and sets RetVal to the exit code +external pred system i:string, o:int. + +% -- Debugging -- + +% [term_to_string T S] prints T to S +external pred term_to_string i:any, o:string. + +% == Lambda Prolog builtins ===================================== + +% -- Extra I/O -- + +% [open_string DataIn InStream] opens DataIn as an input stream +external pred open_string i:string, o:in_stream. + +% [lookahead InStream NextChar] peeks one byte from InStream +external pred lookahead i:in_stream, o:string. + +% -- Hacks -- + +% [string_to_term S T] parses a term T from S +external pred string_to_term i:string, o:any. + +% [readterm InStream T] reads T from InStream, ends with \n +external pred readterm i:in_stream, o:any. + +pred printterm i:out_stream, i:A. + +printterm S T :- term_to_string T T1, output S T1. + +pred read o:A. + +read S :- flush std_out, input_line std_in X, string_to_term X S. + +% == Elpi builtins ===================================== + +% [dprint ...] prints raw terms (debugging) +external type dprint variadic any prop. + +% [print ...] prints terms +external type print variadic any prop. + +% Deprecated, use trace.counter +pred counter i:string, o:int. +counter C N :- trace.counter C N. + +% [quote_syntax FileName QueryText QuotedProgram QuotedQuery] quotes the +% program from FileName and the QueryText. See elpi-quoted_syntax.elpi for +% the syntax tree +external pred quote_syntax i:string, i:string, o:list A, o:A. + +typeabbrev loc (ctype "Loc.t"). + + +% [loc.fields Loc File StartChar StopChar Line LineStartsAtChar] Decomposes +% a loc into its fields +external pred loc.fields i:loc, o:string, o:int, o:int, o:int, o:int. + +% == Regular Expressions ===================================== + +% [rex.match Rex Subject] checks if Subject matches Rex. Matching is based +% on OCaml's Str library +external pred rex.match i:string, i:string. + +% [rex.replace Rex Replacement Subject Out] Out is obtained by replacing all +% occurrences of Rex with Replacement in Subject. See also OCaml's +% Str.global_replace +external pred rex.replace i:string, i:string, i:string, o:string. + +% [rex.split Rex Subject Out] Out is obtained by splitting Subject at all +% occurrences of Rex. See also OCaml's Str.split +external pred rex.split i:string, i:string, o:list string. + +% Deprecated, use rex.match +pred rex_match i:string, i:string. +rex_match Rx S :- rex.match Rx S. + +% Deprecated, use rex.replace +pred rex_replace i:string, i:string, i:string, o:string. +rex_replace Rx R S O :- rex.replace Rx R S O. + +% Deprecated, use rex.split +pred rex_split i:string, i:string, o:list string. +rex_split Rx S L :- rex.split Rx S L. + +% == Elpi nonlogical builtins ===================================== + +% Opaque ML data types +kind ctyp type. +type ctype string -> ctyp. + +% [var V ...] checks if the term V is a variable. When used with tree +% arguments it relates an applied variable with its head and argument list. +external type var any -> variadic any prop. + +% [prune V L] V is pruned to L (V is unified with a variable that only sees +% the list of names L) +external pred prune o:any, i:list any. + +% [distinct_names L] checks if L is a list of distinct names. If L is the +% scope of a unification variable (its arguments, as per var predicate) then +% distinct_names L checks that such variable is in the Miller pattern +% fragment (L_\lambda) +external pred distinct_names i:list any. + +% [same_var V1 V2] checks if the two terms V1 and V2 are the same variable, +% ignoring the arguments of the variables +external pred same_var i:A, i:A. + +% [same_term T1 T2] checks if the two terms T1 and T2 are syntactically +% equal (no unification). It behaves differently than same_var since it +% recursively compares the arguments of the variables +external pred same_term i:A, i:A. + + +% Infix notation for same_term +pred (==) i:A, i:A. +X == Y :- same_term X Y. + + +% [cmp_term A B Cmp] Compares A and B. Only works if A and B are ground. +external pred cmp_term i:any, i:any, o:cmp. + +% [name T ...] checks if T is a eigenvariable. When used with tree arguments +% it relates an applied name with its head and argument list. +external type name any -> variadic any prop. + +% [constant T ...] checks if T is a (global) constant. When used with tree +% arguments it relates an applied constant with its head and argument list. +external type constant any -> variadic any prop. + +external pred names % generates the list of eigenvariable + o:list any. % list of eigenvariables in order of age (young first) + +external pred occurs % checks if the atom occurs in the term + i:any, % an atom, that is a global constant or a bound name (aka eigenvariable) + i:any. % a term + +% [closed_term T] unify T with a variable that has no eigenvariables in +% scope +external pred closed_term o:any. + +% [ground_term T] Checks if T contains unification variables +external pred ground_term i:any. + +% [is_cdata T Ctype] checks if T is primitive of type Ctype, eg (ctype +% "int") +external pred is_cdata i:any, o:ctyp. + +pred primitive? i:A, i:string. + +primitive? X S :- is_cdata X (ctype S). + +% [new_int N] unifies N with a different int every time it is called. Values +% of N are guaranteed to be incresing. +external pred new_int o:int. + +% [findall_solution P L] finds all the solved instances of P and puts them +% in L +% in the order in which they are found. Instances can contain +% eigenvariables +% and unification variables. + +external pred findall_solutions i:prop, o:list prop. + +% Holds data across bracktracking; can only contain closed terms +typeabbrev safe (ctype "safe"). + + +% [new_safe Safe] creates a safe: a store that persists across backtracking +external pred new_safe o:safe. + +% [stash_in_safe Safe Data] stores Data in the Safe +external pred stash_in_safe i:safe, i:A. + +% [open_safe Safe Data] retrieves the Data stored in Safe +external pred open_safe i:safe, o:list A. + + +% [if C T E] picks the first success of C then runs T (never E). +% if C has no success it runs E. +pred if i:prop, i:prop, i:prop. +if B T _ :- B, !, T. +if _ _ E :- E. + +% [if2 C1 B1 C2 B2 E] like if but with 2 then branches (and one else branch). +pred if2 i:prop, i:prop, i:prop, i:prop, i:prop. +if2 G1 P1 _ _ _ :- G1, !, P1. +if2 _ _ G2 P2 _ :- G2, !, P2. +if2 _ _ _ _ E :- !, E. + +% [random.init Seed] Initialize OCaml's PRNG with the given Seed +external pred random.init i:int. + +% [random.self_init] Initialize OCaml's PRNG with some seed +external pred random.self_init . + +% [random.int Bound N] unifies N with a random int between 0 and Bound +% (excluded) +external pred random.int i:int, o:int. + +#line 0 "builtin_stdlib.elpi" +% == stdlib ======================================================= + +% Conventions: +% - all predicates declare a mode with some input arguments, unless... +% - predicates whose name ends with R are relations (work in any direction, +% that is all arguments are in output mode) +% - predicates whose name ends with ! do contain a cut and generate only the +% first result +% - all errors given by this library end up calling fatal-error[-w-data], +% override it in order to handle them differently +% - all debug prints by this library end up calling debug-print, override it +% in order to handle them differently + +namespace std { + +pred fatal-error i:string. +:name "default-fatal-error" +fatal-error Msg :- halt Msg. + +pred fatal-error-w-data i:string, i:A. +:name "default-fatal-error-w-data" +fatal-error-w-data Msg Data :- halt Msg ":" Data. + +pred debug-print i:string, i:A. +:name "default-debug-print" +debug-print Msg Data :- print Msg Data. + +% -- Errors, Debugging, Hacks -- + +pred ignore-failure! i:prop. +ignore-failure! P :- P, !. +ignore-failure! _. + +% [assert! C M] takes the first success of C or fails with message M +pred assert! i:prop, i:string. +assert! Cond Msg :- (Cond ; fatal-error-w-data Msg Cond), !. + +% [assert-ok! C M] like assert! but the last argument of the predicate must +% be a diagnostic that is printed after M in case it is not ok +pred assert-ok! i:(diagnostic -> prop), i:string. +assert-ok! Cond Msg :- Cond Diagnostic, !, (Diagnostic = ok ; Diagnostic = error S, fatal-error-w-data Msg S), !. +assert-ok! _ Msg :- fatal-error-w-data Msg "no diagnostic returned". + +% [spy P] traces the call to P, printing all success and the final failure +pred spy i:prop. +spy P :- trace.counter "run" NR, if (not(NR = 0)) (debug-print "run=" NR) true, + debug-print "----<<---- enter: " P, + P, + debug-print "---->>---- exit: " P. +spy P :- debug-print "---->>---- fail: " P, fail. + +% [spy! P] traces the first call to P without leaving a choice point +pred spy! i:prop. +spy! P :- trace.counter "run" NR, if (not(NR = 0)) (debug-print "run=" NR) true, + debug-print "----<<---- enter: " P, + P, + debug-print "---->>---- exit: " P, !. +spy! P :- debug-print "---->>---- fail: " P, fail. + +% to silence the type checker +pred unsafe-cast o:A, o:B. +unsafe-cast X X. + +% -- List processing -- + +pred length i:list A, o:int. +length [_|L] N :- length L N1, N is N1 + 1. +length [] 0. + +pred rev i:list A, o:list A. +rev L RL :- rev.aux L [] RL. +rev.aux [X|XS] ACC R :- rev.aux XS [X|ACC] R. +rev.aux [] L L. + +pred last i:list A, o:A. +last [] _ :- fatal-error "last on empty list". +last [X] X :- !. +last [_|XS] R :- last XS R. + +pred append i:list A, i:list A, o:list A. +append [X|XS] L [X|L1] :- append XS L L1 . +append [] L L . + +pred appendR o:list A, o:list A, o:list A. +appendR [X|XS] L [X|L1] :- appendR XS L L1 . +appendR [] L L . + +pred take i:int, i:list A, o:list A. +take 0 _ [] :- !. +take N [X|XS] [X|L] :- !, N1 is N - 1, take N1 XS L. +take _ _ _ :- fatal-error "take run out of list items". + +pred take-last i:int, i:list A, o:list A. +take-last N L R :- + length L M, + D is M - N, + drop D L R. + +pred drop i:int, i:list A, o:list A. +drop 0 L L :- !. +drop N [_|XS] L :- !, N1 is N - 1, drop N1 XS L. +drop _ _ _ :- fatal-error "drop run out of list items". + +pred drop-last i:int, i:list A, o:list A. +drop-last N L R :- + length L M, I is M - N, take I L R. + +pred split-at i:int, i:list A, o:list A, o:list A. +split-at 0 L [] L :- !. +split-at N [X|XS] [X|LN] LM :- !, N1 is N - 1, split-at N1 XS LN LM. +split-at _ _ _ _ :- fatal-error "split-at run out of list items". + +pred fold i:list B, i:A, i:(B -> A -> A -> prop), o:A. +fold [] A _ A. +fold [X|XS] A F R :- F X A A1, fold XS A1 F R. + +pred fold2 i:list C, i:list B, i:A, i:(C -> B -> A -> A -> prop), o:A. +fold2 [] [_|_] _ _ _ :- fatal-error "fold2 on lists of different length". +fold2 [_|_] [] _ _ _ :- fatal-error "fold2 on lists of different length". +fold2 [] [] A _ A. +fold2 [X|XS] [Y|YS] A F R :- F X Y A A1, fold2 XS YS A1 F R. + +pred map i:list A, i:(A -> B -> prop), o:list B. +map [] _ []. +map [X|XS] F [Y|YS] :- F X Y, map XS F YS. + +pred map-i i:list A, i:(int -> A -> B -> prop), o:list B. +map-i L F R :- map-i.aux L 0 F R. +map-i.aux [] _ _ []. +map-i.aux [X|XS] N F [Y|YS] :- F N X Y, M is N + 1, map-i.aux XS M F YS. + +pred map-filter i:list A, i:(A -> B -> prop), o:list B. +map-filter [] _ []. +map-filter [X|XS] F [Y|YS] :- F X Y, !, map-filter XS F YS. +map-filter [_|XS] F YS :- map-filter XS F YS. + +:index(1 1) +pred map2 i:list A, i:list B, i:(A -> B -> C -> prop), o:list C. +map2 [] [_|_] _ _ :- fatal-error "map2 on lists of different length". +map2 [_|_] [] _ _ :- fatal-error "map2 on lists of different length". +map2 [] [] _ []. +map2 [X|XS] [Y|YS] F [Z|ZS] :- F X Y Z, map2 XS YS F ZS. + +pred map2-filter i:list A, i:list B, i:(A -> B -> C -> prop), o:list C. +map2-filter [] [_|_] _ _ :- fatal-error "map2-filter on lists of different length". +map2-filter [_|_] [] _ _ :- fatal-error "map2-filter on lists of different length". +map2-filter [] [] _ []. +map2-filter [X|XS] [Y|YS] F [Z|ZS] :- F X Y Z, !, map2-filter XS YS F ZS. +map2-filter [_|XS] [_|YS] F ZS :- map2-filter XS YS F ZS. + +pred map-ok i:list A, i:(A -> B -> diagnostic -> prop), o:list A, o:diagnostic. +map-ok [X|L] P [Y|YS] S :- P X Y S0, if (S0 = ok) (map-ok L P YS S) (S = S0). +map-ok [] _ [] ok. + +pred fold-map i:list A, i:B, i:(A -> B -> C -> B -> prop), o:list C, o:B. +fold-map [] A _ [] A. +fold-map [X|XS] A F [Y|YS] A2 :- F X A Y A1, fold-map XS A1 F YS A2. + +pred omap i:option A, i:(A -> B -> prop), o:option B. +omap none _ none. +omap (some X) F (some Y) :- F X Y. + +% [nth N L X] picks in X the N-th element of L (L must be of length > N) +pred nth i:int, i:list A, o:A. +nth 0 [X|_ ] R :- !, X = R. +nth N [_|XS] R :- N > 0, !, N1 is N - 1, nth N1 XS R. +nth N _ _ :- N < 0, !, fatal-error "nth got a negative index". +nth _ _ _ :- fatal-error "nth run out of list items". + +% [lookup L K V] sees L as a map from K to V +pred lookup i:list (pair A B), i:A, o:B. +lookup [pr X Y|_] X Y. +lookup [_|LS] X Y :- lookup LS X Y. + +% [lookup! L K V] sees L as a map from K to V, stops at the first binding +pred lookup! i:list (pair A B), i:A, o:B. +lookup! [pr X Y|_] X Y :- !. +lookup! [_|LS] X Y :- lookup! LS X Y. + +% [mem! L X] succeeds once if X occurs inside L +pred mem! i:list A, o:A. +mem! [X|_] X :- !. +mem! [_|L] X :- mem! L X. + +% [mem L X] succeeds every time if X occurs inside L +pred mem i:list A, o:A. +mem [X|_] X. +mem [_|L] X :- mem L X. + +pred exists i:list A, i:(A -> prop). +exists [X|_] P :- P X. +exists [_|L] P :- exists L P. + +pred exists2 i:list A, i:list B, i:(A -> B -> prop). +exists2 [] [_|_] _ :- fatal-error "exists2 on lists of different length". +exists2 [_|_] [] _ :- fatal-error "exists2 on lists of different length". +exists2 [X|_] [Y|_] P :- P X Y. +exists2 [_|L] [_|M] P :- exists2 L M P. + +pred forall i:list A, i:(A -> prop). +forall [] _. +forall [X|L] P :- P X, forall L P. + +pred forall-ok i:list A, i:(A -> diagnostic -> prop), o:diagnostic. +forall-ok [X|L] P S :- P X S0, if (S0 = ok) (forall-ok L P S) (S = S0). +forall-ok [] _ ok. + +pred forall2 i:list A, i:list B, i:(A -> B -> prop). +forall2 [] [_|_] _ :- fatal-error "forall2 on lists of different length". +forall2 [_|_] [] _ :- fatal-error "forall2 on lists of different length". +forall2 [X|XS] [Y|YS] P :- P X Y, forall2 XS YS P. +forall2 [] [] _. + +pred filter i:list A, i:(A -> prop), o:list A. +filter [] _ []. +filter [X|L] P R :- if (P X) (R = X :: L1) (R = L1), filter L P L1. + +pred zip i:list A, i:list B, o:list (pair A B). +zip [_|_] [] _ :- fatal-error "zip on lists of different length". +zip [] [_|_] _ :- fatal-error "zip on lists of different length". +zip [X|LX] [Y|LY] [pr X Y|LR] :- zip LX LY LR. +zip [] [] []. + +pred unzip i:list (pair A B), o:list A, o:list B. +unzip [] [] []. +unzip [pr X Y|L] [X|LX] [Y|LY] :- unzip L LX LY. + +pred flatten i:list (list A), o:list A. +flatten [X|LS] R :- flatten LS LS', append X LS' R. +flatten [] []. + +pred null i:list A. +null []. + +pred iota i:int, o:list int. +iota N L :- iota.aux 0 N L. +iota.aux X X [] :- !. +iota.aux N X [N|R] :- M is N + 1, iota.aux M X R. + +% [intersperse X L R] R is [L0, X, ..., X, LN] +:index(_ 1) +pred intersperse i:A, i:list A, o:list A. +intersperse _ [] []. +intersperse _ [X] [X] :- !. +intersperse Sep [X|XS] [X,Sep|YS] :- intersperse Sep XS YS. + +% -- Misc -- + +pred flip i:(A -> B -> prop), i:B, i:A. +flip P X Y :- P Y X. + +pred time i:prop, o:float. +time P T :- gettimeofday Before, P, gettimeofday After, T is After - Before. + +pred do! i:list prop. +do! []. +do! [P|PS] :- P, !, do! PS. + +:index(_ 1) +pred do-ok! o:diagnostic, i:list (diagnostic -> prop). +do-ok! ok []. +do-ok! S [P|PS] :- P S0, !, if (S0 = ok) (do-ok! S PS) (S = S0). + +pred lift-ok i:prop, i:string, o:diagnostic. +lift-ok P Msg R :- (P, R = ok; R = error Msg). + +pred spy-do! i:list prop. +spy-do! L :- map L (x\y\y = spy x) L1, do! L1. + +pred while-ok-do! i:diagnostic, i:list (diagnostic -> prop), o:diagnostic. +while-ok-do! (error _ as E) _ E. +while-ok-do! ok [] ok. +while-ok-do! ok [P|PS] R :- P C, !, while-ok-do! C PS R. + +pred any->string i:A, o:string. +any->string X Y :- term_to_string X Y. + +pred max i:A, i:A, o:A. +max N M N :- N >= M, !. +max _ M M. + +% [findall P L] L is the list [P1,P2,P3..] where each Pi is a solution to P. +pred findall i:prop, o:list prop. +findall P L :- findall_solutions P L. + +} + +% [std.string.concat Separator Items Result] concatenates Items +% interspersing Separator +external pred std.string.concat i:string, i:list string, o:string. + +% CAVEAT: the type parameter of std.string.map must be a closed term + +kind std.string.map type -> type. + +% [std.string.map.empty M] The empty map +external pred std.string.map.empty o:std.string.map A. + +% [std.string.map.mem S M] Checks if S is bound in M +external pred std.string.map.mem i:string, i:std.string.map A. + +% [std.string.map.add S V M M1] M1 is M where V is bound to S +external pred std.string.map.add i:string, i:A, i:std.string.map A, + o:std.string.map A. + +% [std.string.map.remove S M M1] M1 is M where S is unbound +external pred std.string.map.remove i:string, i:std.string.map A, + o:std.string.map A. + +% [std.string.map.find S M V] V is the binding of S in M +external pred std.string.map.find i:string, i:std.string.map A, o:A. + +% [std.string.map.bindings M L] L is M transformed into an associative list +external pred std.string.map.bindings i:std.string.map A, + o:list (pair string A). + +% CAVEAT: the type parameter of std.int.map must be a closed term + +kind std.int.map type -> type. + +% [std.int.map.empty M] The empty map +external pred std.int.map.empty o:std.int.map A. + +% [std.int.map.mem S M] Checks if S is bound in M +external pred std.int.map.mem i:int, i:std.int.map A. + +% [std.int.map.add S V M M1] M1 is M where V is bound to S +external pred std.int.map.add i:int, i:A, i:std.int.map A, + o:std.int.map A. + +% [std.int.map.remove S M M1] M1 is M where S is unbound +external pred std.int.map.remove i:int, i:std.int.map A, o:std.int.map A. + +% [std.int.map.find S M V] V is the binding of S in M +external pred std.int.map.find i:int, i:std.int.map A, o:A. + +% [std.int.map.bindings M L] L is M transformed into an associative list +external pred std.int.map.bindings i:std.int.map A, o:list (pair int A). + +% CAVEAT: the type parameter of std.loc.map must be a closed term + +kind std.loc.map type -> type. + +% [std.loc.map.empty M] The empty map +external pred std.loc.map.empty o:std.loc.map A. + +% [std.loc.map.mem S M] Checks if S is bound in M +external pred std.loc.map.mem i:loc, i:std.loc.map A. + +% [std.loc.map.add S V M M1] M1 is M where V is bound to S +external pred std.loc.map.add i:loc, i:A, i:std.loc.map A, + o:std.loc.map A. + +% [std.loc.map.remove S M M1] M1 is M where S is unbound +external pred std.loc.map.remove i:loc, i:std.loc.map A, o:std.loc.map A. + +% [std.loc.map.find S M V] V is the binding of S in M +external pred std.loc.map.find i:loc, i:std.loc.map A, o:A. + +% [std.loc.map.bindings M L] L is M transformed into an associative list +external pred std.loc.map.bindings i:std.loc.map A, o:list (pair loc A). + +kind std.string.set type. + +% [std.string.set.empty A] The empty set +external pred std.string.set.empty o:std.string.set. + +% [std.string.set.mem Elem A] Checks if Elem is in a +external pred std.string.set.mem i:string, i:std.string.set. + +% [std.string.set.add Elem A B] B is A union {Elem} +external pred std.string.set.add i:string, i:std.string.set, + o:std.string.set. + +% [std.string.set.remove Elem A B] B is A \ {Elem} +external pred std.string.set.remove i:string, i:std.string.set, + o:std.string.set. + +% [std.string.set.union A B X] X is A union B +external pred std.string.set.union i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.inter A B X] X is A intersection B +external pred std.string.set.inter i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.diff A B X] X is A \ B +external pred std.string.set.diff i:std.string.set, i:std.string.set, + o:std.string.set. + +% [std.string.set.equal A B] tests A and B for equality +external pred std.string.set.equal i:std.string.set, i:std.string.set. + +% [std.string.set.subset A B] tests if A is a subset of B +external pred std.string.set.subset i:std.string.set, i:std.string.set. + +% [std.string.set.elements M L] L is M transformed into list +external pred std.string.set.elements i:std.string.set, o:list string. + +% [std.string.set.cardinal M N] N is the number of elements of M +external pred std.string.set.cardinal i:std.string.set, o:int. + +kind std.int.set type. + +% [std.int.set.empty A] The empty set +external pred std.int.set.empty o:std.int.set. + +% [std.int.set.mem Elem A] Checks if Elem is in a +external pred std.int.set.mem i:int, i:std.int.set. + +% [std.int.set.add Elem A B] B is A union {Elem} +external pred std.int.set.add i:int, i:std.int.set, o:std.int.set. + +% [std.int.set.remove Elem A B] B is A \ {Elem} +external pred std.int.set.remove i:int, i:std.int.set, o:std.int.set. + +% [std.int.set.union A B X] X is A union B +external pred std.int.set.union i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.inter A B X] X is A intersection B +external pred std.int.set.inter i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.diff A B X] X is A \ B +external pred std.int.set.diff i:std.int.set, i:std.int.set, + o:std.int.set. + +% [std.int.set.equal A B] tests A and B for equality +external pred std.int.set.equal i:std.int.set, i:std.int.set. + +% [std.int.set.subset A B] tests if A is a subset of B +external pred std.int.set.subset i:std.int.set, i:std.int.set. + +% [std.int.set.elements M L] L is M transformed into list +external pred std.int.set.elements i:std.int.set, o:list int. + +% [std.int.set.cardinal M N] N is the number of elements of M +external pred std.int.set.cardinal i:std.int.set, o:int. + +kind std.loc.set type. + +% [std.loc.set.empty A] The empty set +external pred std.loc.set.empty o:std.loc.set. + +% [std.loc.set.mem Elem A] Checks if Elem is in a +external pred std.loc.set.mem i:loc, i:std.loc.set. + +% [std.loc.set.add Elem A B] B is A union {Elem} +external pred std.loc.set.add i:loc, i:std.loc.set, o:std.loc.set. + +% [std.loc.set.remove Elem A B] B is A \ {Elem} +external pred std.loc.set.remove i:loc, i:std.loc.set, o:std.loc.set. + +% [std.loc.set.union A B X] X is A union B +external pred std.loc.set.union i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.inter A B X] X is A intersection B +external pred std.loc.set.inter i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.diff A B X] X is A \ B +external pred std.loc.set.diff i:std.loc.set, i:std.loc.set, + o:std.loc.set. + +% [std.loc.set.equal A B] tests A and B for equality +external pred std.loc.set.equal i:std.loc.set, i:std.loc.set. + +% [std.loc.set.subset A B] tests if A is a subset of B +external pred std.loc.set.subset i:std.loc.set, i:std.loc.set. + +% [std.loc.set.elements M L] L is M transformed into list +external pred std.loc.set.elements i:std.loc.set, o:list loc. + +% [std.loc.set.cardinal M N] N is the number of elements of M +external pred std.loc.set.cardinal i:std.loc.set, o:int. + +#line 0 "builtin_map.elpi" +kind std.map type -> type -> type. +type std.map std.map.private.map K V -> (K -> K -> cmp -> prop) -> std.map K V. + +namespace std.map { + +% [make Eq Ltn M] builds an empty map M where keys are compared using Eq and Ltn +pred make i:(K -> K -> cmp -> prop), o:std.map K V. +make Cmp (std.map private.empty Cmp). + +% [find K M V] looks in M for the value V associated to K +pred find i:K, i:std.map K V, o:V. +find K (std.map M Cmp) V :- private.find M Cmp K V. + +% [add K V M M1] M1 is M where K is bound to V +pred add i:K, i:V, i:std.map K V, o:std.map K V. +add K V (std.map M Cmp) (std.map M1 Cmp) :- private.add M Cmp K V M1. + +% [remove K M M1] M1 is M where K is unbound +pred remove i:K, i:std.map K V, o:std.map K V. +remove K (std.map M Cmp) (std.map M1 Cmp) :- private.remove M Cmp K M1. + +% [bindings M L] L is the key-value pairs in increasing order +pred bindings i:std.map K V, o:list (pair K V). +bindings (std.map M _) L :- private.bindings M [] L. + +namespace private { + +% Taken from OCaml's map.ml +kind map type -> type -> type. +type empty map K V. +type node map K V -> K -> V -> map K V -> int -> map K V. + +pred height i:map K V, o:int. +height empty 0. +height (node _ _ _ _ H) H. + +pred create i:map K V, i:K, i:V, i:map K V, o:map K V. +create L K V R (node L K V R H) :- H is {std.max {height L} {height R}} + 1. + +pred bal i:map K V, i:K, i:V, i:map K V, o:map K V. +bal L K V R T :- + height L HL, + height R HR, + HL2 is HL + 2, + HR2 is HR + 2, + bal.aux HL HR HL2 HR2 L K V R T. + +bal.aux HL _ _ HR2 (node LL LV LD LR _) X D R T :- + HL > HR2, {height LL} >= {height LR}, !, + create LL LV LD {create LR X D R} T. +bal.aux HL _ _ HR2 (node LL LV LD (node LRL LRV LRD LRR _) _) X D R T :- + HL > HR2, !, + create {create LL LV LD LRL} LRV LRD {create LRR X D R} T. +bal.aux _ HR HL2 _ L X D (node RL RV RD RR _) T :- + HR > HL2, {height RR} >= {height RL}, !, + create {create L X D RL} RV RD RR T. +bal.aux _ HR HL2 _ L X D (node (node RLL RLV RLD RLR _) RV RD RR _) T :- + HR > HL2, !, + create {create L X D RLL} RLV RLD {create RLR RV RD RR} T. +bal.aux _ _ _ _ L K V R T :- create L K V R T. + +pred add i:map K V, i:(K -> K -> cmp -> prop), i:K, i:V, o:map K V. +add empty _ K V T :- create empty K V empty T. +add (node _ X _ _ _ as M) Cmp X1 XD M1 :- Cmp X1 X E, add.aux E M Cmp X1 XD M1. +add.aux eq (node L _ _ R H) _ X XD T :- T = node L X XD R H. +add.aux lt (node L V D R _) Cmp X XD T :- bal {add L Cmp X XD} V D R T. +add.aux gt (node L V D R _) Cmp X XD T :- bal L V D {add R Cmp X XD} T. + +pred find i:map K V, i:(K -> K -> cmp -> prop), i:K, o:V. +find (node L K1 V1 R _) Cmp K V :- Cmp K K1 E, find.aux E Cmp L R V1 K V. +find.aux eq _ _ _ V _ V. +find.aux lt Cmp L _ _ K V :- find L Cmp K V. +find.aux gt Cmp _ R _ K V :- find R Cmp K V. + +pred remove-min-binding i:map K V, o:map K V. +remove-min-binding (node empty _ _ R _) R :- !. +remove-min-binding (node L V D R _) X :- bal {remove-min-binding L} V D R X. + +pred min-binding i:map K V, o:K, o:V. +min-binding (node empty V D _ _) V D :- !. +min-binding (node L _ _ _ _) V D :- min-binding L V D. + +pred merge i:map K V, i:map K V, o:map K V. +merge empty X X :- !. +merge X empty X :- !. +merge M1 M2 R :- + min-binding M2 X D, + bal M1 X D {remove-min-binding M2} R. + +pred remove i:map K V, i:(K -> K -> cmp -> prop), i:K, o:map K V. +remove empty _ _ empty :- !. +remove (node L V D R _) Cmp X M :- Cmp X V E, remove.aux E Cmp L R V D X M. +remove.aux eq _ L R _ _ _ M :- merge L R M. +remove.aux lt Cmp L R V D X M :- bal {remove L Cmp X} V D R M. +remove.aux gt Cmp L R V D X M :- bal L V D {remove R Cmp X} M. + +pred bindings i:map K V, i:list (pair K V), o:list (pair K V). +bindings empty X X. +bindings (node L V D R _) X X1 :- + bindings L [pr V D|{bindings R X}] X1. + + +} % std.map.private +} % std.map + + +#line 0 "builtin_set.elpi" +kind std.set type -> type. +type std.set std.set.private.set E -> (E -> E -> cmp -> prop) -> std.set E. + +namespace std.set { + +% [make Eq Ltn M] builds an empty set M where keys are compared using Eq and Ltn +pred make i:(E -> E -> cmp -> prop), o:std.set E. +make Cmp (std.set private.empty Cmp). + +% [mem E M] looks if E is in M +pred mem i:E, i:std.set E. +mem E (std.set M Cmp):- private.mem M Cmp E. + +% [add E M M1] M1 is M + {E} +pred add i:E, i:std.set E, o:std.set E. +add E (std.set M Cmp) (std.set M1 Cmp) :- private.add M Cmp E M1. + +% [remove E M M1] M1 is M - {E} +pred remove i:E, i:std.set E, o:std.set E. +remove E (std.set M Cmp) (std.set M1 Cmp) :- private.remove M Cmp E M1. + +% [cardinal S N] N is the number of elements of S +pred cardinal i:std.set E, o:int. +cardinal (std.set M _) N :- private.cardinal M N. + +pred elements i:std.set E, o:list E. +elements (std.set M _) L :- private.elements M [] L. + +namespace private { + +% Taken from OCaml's set.ml +kind set type -> type. +type empty set E. +type node set E -> E -> set E -> int -> set E. + +pred height i:set E, o:int. +height empty 0. +height (node _ _ _ H) H. + +pred create i:set E, i:E, i:set E, o:set E. +create L E R (node L E R H) :- H is {std.max {height L} {height R}} + 1. + +pred bal i:set E, i:E, i:set E, o:set E. +bal L E R T :- + height L HL, + height R HR, + HL2 is HL + 2, + HR2 is HR + 2, + bal.aux HL HR HL2 HR2 L E R T. + +bal.aux HL _ _ HR2 (node LL LV LR _) X R T :- + HL > HR2, {height LL} >= {height LR}, !, + create LL LV {create LR X R} T. +bal.aux HL _ _ HR2 (node LL LV (node LRL LRV LRR _) _) X R T :- + HL > HR2, !, + create {create LL LV LRL} LRV {create LRR X R} T. +bal.aux _ HR HL2 _ L X (node RL RV RR _) T :- + HR > HL2, {height RR} >= {height RL}, !, + create {create L X RL} RV RR T. +bal.aux _ HR HL2 _ L X (node (node RLL RLV RLR _) RV RR _) T :- + HR > HL2, !, + create {create L X RLL} RLV {create RLR RV RR} T. +bal.aux _ _ _ _ L E R T :- create L E R T. + +pred add i:set E, i:(E -> E -> cmp -> prop), i:E, o:set E. +add empty _ E T :- create empty E empty T. +add (node L X R H) Cmp X1 S :- Cmp X1 X E, add.aux E Cmp L R X X1 H S. +add.aux eq _ L R X _ H (node L X R H). +add.aux lt Cmp L R E X _ T :- bal {add L Cmp X} E R T. +add.aux gt Cmp L R E X _ T :- bal L E {add R Cmp X} T. + +pred mem i:set E, i:(E -> E -> cmp -> prop), i:E. +mem (node L K R _) Cmp E :- Cmp E K O, mem.aux O Cmp L R E. +mem.aux eq _ _ _ _. +mem.aux lt Cmp L _ E :- mem L Cmp E. +mem.aux gt Cmp _ R E :- mem R Cmp E. + +pred remove-min-binding i:set E, o:set E. +remove-min-binding (node empty _ R _) R :- !. +remove-min-binding (node L E R _) X :- bal {remove-min-binding L} E R X. + +pred min-binding i:set E, o:E. +min-binding (node empty E _ _) E :- !. +min-binding (node L _ _ _) E :- min-binding L E. + +pred merge i:set E, i:set E, o:set E. +merge empty X X :- !. +merge X empty X :- !. +merge M1 M2 R :- + min-binding M2 X, + bal M1 X {remove-min-binding M2} R. + +pred remove i:set E, i:(E -> E -> cmp -> prop), i:E, o:set E. +remove empty _ _ empty. +remove (node L E R _) Cmp X M :- Cmp X E O, remove.aux O Cmp L R E X M. +remove.aux eq _ L R _ _ M :- merge L R M. +remove.aux lt Cmp L R E X M :- bal {remove L Cmp X} E R M. +remove.aux gt Cmp L R E X M :- bal L E {remove R Cmp X} M. + +pred cardinal i:set E, o:int. +cardinal empty 0. +cardinal (node L _ R _) N :- N is {cardinal L} + 1 + {cardinal R}. + +pred elements i:set E, i:list E, o:list E. +elements empty X X. +elements (node L E R _) Acc X :- + elements L [E|{elements R Acc}] X. + +} % std.set.private +} % std.set + + +% == Elpi runtime builtins ===================================== + +% [trace.counter Name Value] reads the Value of a trace point Name +external pred trace.counter i:string, o:int. + +% [gc.get MinorHeapSize MajorHeapIncrement SpaceOverhead Verbose MaxOverhead +% StackLimit AllocationPolicy WindowSize] Reads the current settings of the +% garbage collector. See also OCaml's Gc.control type documentation. +external pred gc.get o:int, o:int, o:int, o:int, o:int, o:int, o:int, + o:int. + +% [gc.set MinorHeapSize MajorHeapIncrement SpaceOverhead Verbose MaxOverhead +% StackLimit AllocationPolicy WindowSize] Writes the current settings of the +% garbage collector. Any parameter left unspecificed (eg _) is not changed. +% See also OCaml's Gc.control type documentation. +external pred gc.set i:int, i:int, i:int, i:int, i:int, i:int, i:int, + i:int. + +% [gc.minor] See OCaml's Gc.minor documentation. +external pred gc.minor . + +% [gc.major] See OCaml's Gc.major documentation. +external pred gc.major . + +% [gc.full] See OCaml's Gc.full_major documentation. +external pred gc.full . + +% [gc.compact] See OCaml's Gc.compact documentation. +external pred gc.compact . + +% [gc.stat MinorWords PromotedWords MajorWords MinorCollections +% MajorCollections HeapWords HeapChunks LiveWords LiveBlocks FreeWords +% FreeBlocks LargestFree Fragments Compactions TopHeapWords StackSize] See +% OCaml's Gc.stat documentation. +external pred gc.stat o:float, o:float, o:float, o:int, o:int, o:int, + o:int, o:int, o:int, o:int, o:int, o:int, o:int, + o:int, o:int, o:int. + +% [gc.quick-stat MinorWords PromotedWords MajorWords MinorCollections +% MajorCollections HeapWords HeapChunks Compactions TopHeapWords StackSize] +% See OCaml's Gc.quick_stat documentation. +external pred gc.quick-stat o:float, o:float, o:float, o:int, o:int, + o:int, o:int, o:int, o:int, o:int. + + + + diff --git a/out/lambdapi.pkg b/out/lambdapi.pkg new file mode 100644 index 000000000..64a65dab8 --- /dev/null +++ b/out/lambdapi.pkg @@ -0,0 +1,2 @@ +package_name = coq +root_path = coq diff --git a/src/cli/lambdapi.ml b/src/cli/lambdapi.ml index 0b05e9fcb..2338b1501 100644 --- a/src/cli/lambdapi.ml +++ b/src/cli/lambdapi.ml @@ -23,6 +23,7 @@ let check_cmd : Config.t -> int option -> string list -> unit = let run _ = let open Timed in Config.init cfg; + Elpi_handle.init (); (* We save time to run each file in the same environment. *) let time = Time.save () in let handle file = diff --git a/src/common/error.ml b/src/common/error.ml index 975284cc7..4eebc33d2 100644 --- a/src/common/error.ml +++ b/src/common/error.ml @@ -73,4 +73,6 @@ let handle_exceptions : (unit -> unit) -> unit = fun f -> try f () with | Fatal(None, msg) -> exit_with "%s" msg | Fatal(Some(p), msg) -> exit_with "[%a] %s" Pos.pp p msg + (* | e -> exit_with "Uncaught [%s]." (Printexc.to_string e) + *) diff --git a/src/core/ctxt.ml b/src/core/ctxt.ml index abca46037..0ac9b4059 100644 --- a/src/core/ctxt.ml +++ b/src/core/ctxt.ml @@ -4,6 +4,17 @@ open Term open Lplib open Timed +(** [unbind ctx a def b] returns a triple [(x,t,new_ctx)] such that [(x,t)] is + an unbinding of [b] (in the sense of [Bindlib.unbind]) and [new_ctx] is an + extension of context [ctx] with the assumption that [x] has type [a] (only + if [x] occurs in [t]). If [def] is of the form [Some(u)], the context also + registers the term [u] as the definition of variable [x]. *) +let unbind : 'a actxt -> 'a -> term option -> tbinder -> + tvar * term * 'a actxt = + fun ctx a def b -> + let (x, t) = Bindlib.unbind b in + (x, t, if Bindlib.binder_occur b then (x, a, def) :: ctx else ctx) + (** [type_of x ctx] returns the type of [x] in the context [ctx] when it appears in it, and @raise [Not_found] otherwise. *) diff --git a/src/core/dune b/src/core/dune index d0f25c063..4bbaa79de 100644 --- a/src/core/dune +++ b/src/core/dune @@ -10,4 +10,4 @@ (public_name lambdapi.core) (synopsis "LambdaPi interactive theorem prover [core]") (modules :standard) - (libraries lambdapi.common lambdapi.lplib pratter bindlib why3)) + (libraries lambdapi.common lambdapi.lplib pratter bindlib why3 elpi)) diff --git a/src/core/elpi_lambdapi.ml b/src/core/elpi_lambdapi.ml new file mode 100644 index 000000000..457d9dd74 --- /dev/null +++ b/src/core/elpi_lambdapi.ml @@ -0,0 +1,259 @@ +open Elpi.API + +module Elpi_AUX = struct + let array_map_fold f st a = + let len = Array.length a in + let st = ref st in + let b = Array.make len RawData.mkNil in + for i = 0 to len-1 do + let st', x = f !st a.(i) in + st := st'; + b.(i) <- x + done; + !st, b + + let list_map_fold f s l = + let f st x = let st, x = f st x in st, x, [] in + let s, l, _ = Utils.map_acc f s l in + s, l + + let loc_of_pos = function + | None -> Ast.Loc.initial "(elpi)" + | Some x -> + let { Common.Pos.fname; start_line; start_col; _ } = x in + { + Ast.Loc.source_name = + (match fname with None -> "(.)" | Some x -> x); + source_start = 0; + source_stop = 0; + line = start_line; + line_starts_at = start_col; + } + +end + +(** Terms.sym is exposed to Elpi as an opaque data type (no syntax like int or + string). APIs are provided to manipulate symbols, eg get their type *) +let sym : Term.sym Conversion.t = OpaqueData.declare { + OpaqueData.name = "symbol"; + doc = "A symbol"; + pp = Print.sym; + compare = Term.Sym.compare; + hash = Hashtbl.hash; + hconsed = false; + constants = []; +} + +(** Waiting for a ppx to do all the work for us, we code by hand the + conversion of Terms.term *) + +(* Allocate Elpi symbols for the term constructors (type and kind are Elpi + keywords, hence typ and kin) *) +let typec = RawData.Constants.declare_global_symbol "typ" +let kindc = RawData.Constants.declare_global_symbol "kin" +let symbc = RawData.Constants.declare_global_symbol "symb" +let prodc = RawData.Constants.declare_global_symbol "prod" +let abstc = RawData.Constants.declare_global_symbol "abst" +let applc = RawData.Constants.declare_global_symbol "appl" + +(* A two way map linking Elpi's unification variable and Terms.meta. + An instance of this map is part of the Elpi state (threaded by many + APIs) *) +module M = struct + type t = Term.meta + let compare m1 m2 = Stdlib.compare m1.Term.meta_key m2.Term.meta_key + let pp = Print.meta + let show m = Format.asprintf "%a" pp m +end +module MM = FlexibleData.Map(M) +let metamap : MM.t State.component = MM.uvmap + +let pb = State.declare ~name:"elpi:problem" + ~pp:(fun fmt (p : Term.problem) -> + Format.fprintf fmt "@["; + Term.MetaSet.iter (fun m -> + Format.fprintf fmt "%d@ " m.Term.meta_key) Timed.(! p).Term.metas; + Format.fprintf fmt "@]"; + ) ~init:Term.new_problem ~start:(fun x -> x) + + +(* Terms.term -> Data.term, we use Ctxt.ctxt to carry a link between + Bindlib's var to Elpi's De Bruijn levels *) +let embed_term : ?pats:(int * string) list -> ?ctx:RawData.constant Term.actxt -> Term.term Conversion.embedding = fun ?(pats=[]) ?(ctx=[]) ~depth st t -> + let open RawData in + let open Term in + let gls = ref [] in + let call f ~depth s x = + let s, x, g = f ~depth s x in gls := g @ !gls; s, x in + let rec aux ~depth ctx st t = + match Term.unfold t with + | Vari v -> + let d = Ctxt.type_of v ctx in + st, mkBound d + | Type -> st, mkGlobal typec + | Kind -> st, mkGlobal kindc + | Symb s -> + let st, s = call sym.Conversion.embed ~depth st s in + st, mkApp symbc s [] + | Prod (src, tgt) -> + let st, src = aux ~depth ctx st src in + let _,tgt,ctx = Ctxt.unbind ctx depth None tgt in + let st, tgt = aux ~depth:(depth+1) ctx st tgt in + st, mkApp prodc src [mkLam tgt] + | Abst (ty, body) -> + let st, ty = aux ~depth ctx st ty in + let _,body,ctx = Ctxt.unbind ctx depth None body in + let st, body = aux ~depth:(depth+1) ctx st body in + st, mkApp prodc ty [mkLam body] + | Appl (hd, arg) -> + let st, hd = aux ~depth ctx st hd in + let st, arg = aux ~depth ctx st arg in + st, mkApp applc hd [arg] + | Meta (meta,args) -> + let st, flex = + try st, MM.elpi meta (State.get metamap st) + with Not_found -> + let st, flex = FlexibleData.Elpi.make st in + State.update metamap st (MM.add flex meta), flex in + let st, args = Elpi_AUX.array_map_fold (aux ~depth ctx) st args in + st, mkUnifVar flex ~args:(Array.to_list args) st + | Plac _ -> + let args = List.map (fun (_,x,_) -> mkBound x) ctx in + let st, flex = FlexibleData.Elpi.make st in + let st, meta = State.update_return pb st (fun pb -> + let m1 = LibMeta.fresh pb mk_Type 0 in + let m2 = LibMeta.fresh pb (mk_Meta (m1,[||])) + (List.length args) in (* empty context is surely wrong *) + pb, m2) in + let st = State.update metamap st (MM.add flex meta) in + st, mkUnifVar flex ~args st + | Patt(Some i,_,_) -> begin + try + let x = List.assoc i pats in + let st, flex = FlexibleData.Elpi.make ~name:x st in + st, mkUnifVar flex ~args:[] st + with Not_found -> + let pats = List.map (fun (i,n) -> Printf.sprintf "%d :-> %s; " i n) pats in + Common.Error.fatal_no_pos "embed_term: unnamed pattern %d in map: %s" i (String.concat "" pats); + end + | Patt _ -> Common.Error.fatal_no_pos "embed_term: Patt not implemented" + | TEnv _ -> Common.Error.fatal_no_pos "embed_term: TEnv not implemented" + | Wild -> Common.Error.fatal_no_pos "embed_term: Wild not implemented" + | TRef _ -> Common.Error.fatal_no_pos "embed_term: TRef not implemented" + | LLet _ -> Common.Error.fatal_no_pos "embed_term: LLet not implemented" + in + let st, t = aux ~depth ctx st t in + st, t, List.rev !gls + +module IntMap = Map.Make(struct type t = int let compare = compare end) + +(* Data.term -> Terms.term. We use and IntMap to link Elpi's De Bruijn + levels to Bindlib's var *) +let readback_term_box : Term.term Bindlib.box Conversion.readback = +fun ~depth st t -> + let open RawData in + let open Term in + let gls = ref [] in + let call f ~depth s x = + let s, x, g = f ~depth s x in gls := g @ !gls; s, x in + let rec aux ~depth ctx st t = + match look ~depth t with + | Const c when c == typec -> st, _Type + | Const c when c == kindc -> st, _Kind + | Const c when c >= 0 -> + begin try + let v = IntMap.find c ctx in + st, _Vari v + with Not_found -> Utils.type_error "readback_term: free variable" end + | App(c,s,[]) when c == symbc -> + let st, s = call sym.Conversion.readback ~depth st s in + st, _Symb s + | App(c,ty,[bo]) when c == prodc -> + let st, ty = aux ~depth ctx st ty in + let st, bo = aux_lam ~depth ctx st bo in + st, _Prod ty bo + | App(c,ty,[bo]) when c == abstc -> + let st, ty = aux ~depth ctx st ty in + let st, bo = aux_lam ~depth ctx st bo in + st, _Abst ty bo + | App(c,hd,[arg]) when c == applc -> + let st, hd = aux ~depth ctx st hd in + let st, arg = aux ~depth ctx st arg in + st, _Appl hd arg + | UnifVar(flex, args) -> + let st, meta = + try st, MM.host flex (State.get metamap st) + with Not_found -> + let st, m2 = State.update_return pb st (fun pb -> + let m1 = LibMeta.fresh pb mk_Type 0 in + let m2 = LibMeta.fresh pb (mk_Meta (m1,[||])) + (List.length args) in (* empty context is surely wrong *) + pb, m2) in + State.update metamap st (MM.add flex m2), m2 + in + let st, args = Elpi_AUX.list_map_fold (aux ~depth ctx) st args in + st, _Meta meta (Array.of_list args) + | _ -> Utils.type_error "readback_term" + and aux_lam ~depth ctx st t = + match look ~depth t with + | Lam bo -> + let v = Bindlib.new_var of_tvar "x" in + let ctx = IntMap.add depth v ctx in + let st, bo = aux ~depth:(depth+1) ctx st bo in + st, Bindlib.bind_var v bo + | _ -> Utils.type_error "readback_term" + in + let st, t = aux ~depth IntMap.empty st t in + st, t, List.rev !gls + +let readback_term ~depth st t = + let st, t, gls = readback_term_box ~depth st t in + st, Bindlib.unbox t, gls + +(** Terms.term has a HOAS *) +let term : Term.term Conversion.t = { + Conversion.ty = Conversion.TyName "term"; + pp = Print.term; + pp_doc = (fun fmt () -> Format.fprintf fmt {| +kind term type. +type typ term. +type kin term. +type symb symbol -> term. +type appl term -> term -> term. +type abst term -> (term -> term) -> term. +type prod term -> (term -> term) -> term. + |}); + readback = readback_term; + embed = embed_term ?ctx:None ?pats:None; +} + +(** Assignments to Elpi's unification variables are a spine of lambdas + followed by an actual term. We read them back as a Bindlib.mbinder *) +let readback_mbinder st t = + let open RawData in + let rec aux ~depth nvars t = + match look ~depth t with + | Lam bo -> aux ~depth:(depth+1) (nvars+1) bo + | _ -> + let open Bindlib in + let vs = Array.init nvars (fun i -> + new_var Term.of_tvar (Printf.sprintf "x%d" i)) in + let st, t, _ = readback_term_box ~depth st t in + st, unbox (bind_mvar vs t) + in + aux ~depth:0 0 t +let readback_assignments st = + let mmap = State.get metamap st in + MM.fold (fun meta _flex body st -> + match body with + | None -> st + | Some t -> + let open Timed in + match ! (meta.Term.meta_value) with + | Some _ -> assert false + | None -> + let st, t = readback_mbinder st t in + meta.Term.meta_value := Some t; + st + ) mmap st + diff --git a/src/core/sig_state.ml b/src/core/sig_state.ml index 4d1e8cca4..ea8412c8a 100644 --- a/src/core/sig_state.ml +++ b/src/core/sig_state.ml @@ -41,16 +41,19 @@ let dummy : sig_state = builtins = StrMap.empty; notations = SymMap.empty; open_paths = Path.Set.empty } -(** [add_symbol ss expo prop mstrat opaq id typ impl def] generates a new +(** [add_symbol ss expo prop mstrat opaq id typ impl tc def] generates a new signature state from [ss] by creating a new symbol with expo [e], property [p], strategy [st], name [x], type [a], implicit arguments [impl] and optional definition [def]. This new symbol is returned too. *) let add_symbol : sig_state -> expo -> prop -> match_strat - -> bool -> strloc -> term -> bool list -> term option -> sig_state * sym = - fun ss expo prop mstrat opaq id typ impl def -> + -> bool -> strloc -> term -> bool list -> bool -> bool -> term option -> + sig_state * sym = + fun ss expo prop mstrat opaq id typ impl tc tci def -> let sym = Sign.add_symbol ss.signature expo prop mstrat opaq id (cleanup typ) impl in + if tc then Sign.add_tc ss.signature sym; + if tci then Sign.add_tc_inst ss.signature sym; begin match def with | Some t -> sym.sym_def := Some (cleanup t) diff --git a/src/core/sign.ml b/src/core/sign.ml index a40db549d..0c474724f 100644 --- a/src/core/sign.ml +++ b/src/core/sign.ml @@ -36,6 +36,8 @@ type t = ; sign_notations: float notation SymMap.t ref (** Maps symbols to their notation if they have some. *) ; sign_ind : ind_data SymMap.t ref + ; sign_tc : SymSet.t ref + ; sign_tc_inst : SymSet.t ref ; sign_cp_pos : cp_pos list SymMap.t ref (** Maps a symbol to the critical pair positions it is heading in the rules. *) } @@ -51,6 +53,7 @@ let dummy : unit -> t = fun () -> { sign_symbols = ref StrMap.empty; sign_path = [] ; sign_deps = ref Path.Map.empty; sign_builtins = ref StrMap.empty ; sign_notations = ref SymMap.empty; sign_ind = ref SymMap.empty + ; sign_tc = ref SymSet.empty; sign_tc_inst = ref SymSet.empty ; sign_cp_pos = ref SymMap.empty } (** [find sign name] finds the symbol named [name] in [sign] if it exists, and @@ -265,6 +268,8 @@ let read : string -> t = fun fname -> unsafe_reset sign.sign_notations; unsafe_reset sign.sign_ind; unsafe_reset sign.sign_cp_pos; + unsafe_reset sign.sign_tc; + unsafe_reset sign.sign_tc_inst; let shallow_reset_sym s = unsafe_reset s.sym_type; unsafe_reset s.sym_def; @@ -301,6 +306,8 @@ let read : string -> t = fun fname -> StrMap.iter (fun _ s -> reset_sym s) !(sign.sign_symbols); StrMap.iter (fun _ s -> shallow_reset_sym s) !(sign.sign_builtins); SymMap.iter (fun s _ -> shallow_reset_sym s) !(sign.sign_notations); + SymSet.iter (fun s -> reset_sym s) !(sign.sign_tc); + SymSet.iter (fun s -> reset_sym s) !(sign.sign_tc_inst); let f _ sm = StrMap.iter (fun _ rs -> List.iter reset_rule rs) sm in Path.Map.iter f !(sign.sign_deps); let reset_ind i = @@ -413,3 +420,12 @@ let rec dependencies : t -> (Path.t * t) list = fun sign -> | d::deps -> minimize ((List.filter not_here d) :: acc) deps in List.concat (minimize [] deps) + +let add_tc : t -> sym -> unit = + fun sign sym -> + sign.sign_tc := SymSet.add sym !(sign.sign_tc) + +let add_tc_inst : t -> sym -> unit = + fun sign sym -> + sign.sign_tc_inst := SymSet.add sym !(sign.sign_tc_inst); + diff --git a/src/core/term.ml b/src/core/term.ml index 0fa4f9f86..3981c3159 100644 --- a/src/core/term.ml +++ b/src/core/term.ml @@ -276,7 +276,8 @@ end first). Note that it cannot be implemented by a map as the order is important. *) type 'a actxt = (tvar * 'a * term option) list -type ctxt = term actx +type ctxt = term actxt + (** Typing context with lifted terms. Used to optimise type checking and avoid lifting terms several times. Definitions are not included because these contexts are used to create meta variables types, which do not use [let] @@ -350,7 +351,7 @@ type problem = problem_aux ref let new_problem : unit -> problem = fun () -> ref {to_solve = []; unsolved = []; recompute = false; metas = MetaSet.empty} -(** [create_sym path expo prop opaq name typ impl] creates a new symbol with +(** [create_sym path expo prop opaq name typ impl tc] creates a new symbol with path [path], exposition [expo], property [prop], opacity [opaq], matching strategy [mstrat], name [name.elt], type [typ], implicit arguments [impl], position [name.pos], no definition and no rules. *) diff --git a/src/core/term.mli b/src/core/term.mli index 4f528cb30..6cdcac610 100644 --- a/src/core/term.mli +++ b/src/core/term.mli @@ -257,7 +257,7 @@ end list [xn:An;..;x1:A1] in reverse order (last added variable comes first). *) type 'a actxt = (tvar * 'a * term option) list -type ctxt = term actx +type ctxt = term actxt (** Typing context with lifted terms. Used to optimise type checking and avoid lifting terms several times. Definitions are not included because these @@ -294,10 +294,11 @@ module Sym : Map.OrderedType with type t = sym module SymSet : Set.S with type elt = sym module SymMap : Map.S with type key = sym -(** [create_sym path expo prop opaq name typ impl] creates a new symbol with +(** [create_sym path expo prop opaq name typ impl tc] creates a new symbol with position [pos], path [path], exposition [expo], property [prop], opacity [opaq], matching strategy [mstrat], name [name.elt], type [typ], implicit - arguments [impl], position [name.pos], no definition and no rules. *) + arguments [impl], position [name.pos], typeclass [tc] no definition and no + rules. *) val create_sym : Path.t -> expo -> prop -> match_strat -> bool -> Pos.strloc -> term -> bool list -> sym diff --git a/src/core/unif_rule.ml b/src/core/unif_rule.ml index eb2b73f89..1a9972201 100644 --- a/src/core/unif_rule.ml +++ b/src/core/unif_rule.ml @@ -10,13 +10,15 @@ open Term (** Symbol "≡". *) let equiv : sym = let id = Pos.none "≡" in - let s = Sign.add_symbol Ghost.sign Public Defin Eager false id mk_Kind [] in + let s = + Sign.add_symbol Ghost.sign Public Defin Eager false id mk_Kind [] in Sign.add_notation Ghost.sign s (Infix(Pratter.Neither, 2.0)); s (** Symbol ";". *) let cons : sym = let id = Pos.none ";" in - let s = Sign.add_symbol Ghost.sign Public Const Eager true id mk_Kind [] in + let s = + Sign.add_symbol Ghost.sign Public Const Eager true id mk_Kind [] in Sign.add_notation Ghost.sign s (Infix(Pratter.Right, 1.0)); s (** [unpack eqs] transforms a term of the form diff --git a/src/export/coq.ml b/src/export/coq.ml index c7b86cdf8..f944afb75 100644 --- a/src/export/coq.ml +++ b/src/export/coq.ml @@ -55,6 +55,8 @@ let modifier : p_modifier pp = fun ppf {elt; _} -> | P_mstrat(s) -> Print.match_strat ppf s | P_prop(p) -> Print.prop ppf p | P_opaq -> out ppf "opaque " + | P_typeclass -> assert false (* TODO *) + | P_typeclass_instance -> assert false (* TODO *) (* ends with a space if the list is not empty *) let modifiers : p_modifier list pp = List.pp modifier "" @@ -271,6 +273,7 @@ let command : p_command pp = fun ppf { elt; _ } -> (Option.pp (unit "@," |+ proof)) p_sym_prf end | P_unif_rule _ -> () + | P_elpi _ -> () end let ast : ast pp = fun ppf -> Stream.iter (command ppf) diff --git a/src/handle/command.ml b/src/handle/command.ml index 07924450b..6f4b3c052 100644 --- a/src/handle/command.ml +++ b/src/handle/command.ml @@ -80,17 +80,19 @@ let handle_require_as : compiler -> sig_state -> p_path -> p_ident -> (** [handle_modifiers ms] verifies that the modifiers in [ms] are compatible. If so, they are returned as a tuple. Otherwise, it fails. *) -let handle_modifiers : p_modifier list -> prop * expo * match_strat = +let handle_modifiers : p_modifier list -> prop * expo * match_strat * bool * bool = fun ms -> - let rec get_modifiers ((props, expos, strats) as acc) = function + let rec get_modifiers ((props, expos, strats,tc,tci) as acc) = function | [] -> acc - | {elt=P_prop _;_} as p::ms -> get_modifiers (p::props, expos, strats) ms - | {elt=P_expo _;_} as e::ms -> get_modifiers (props, e::expos, strats) ms + | {elt=P_typeclass;_}::ms -> get_modifiers (props, expos, strats,true, tci) ms + | {elt=P_typeclass_instance;_}::ms -> get_modifiers (props, expos, strats,tc, true) ms + | {elt=P_prop _;_} as p::ms -> get_modifiers (p::props, expos, strats,tc,tci) ms + | {elt=P_expo _;_} as e::ms -> get_modifiers (props, e::expos, strats,tc,tci) ms | {elt=P_mstrat _;_} as s::ms -> - get_modifiers (props, expos, s::strats) ms + get_modifiers (props, expos, s::strats,tc,tci) ms | {elt=P_opaq;_}::ms -> get_modifiers acc ms in - let props, expos, strats = get_modifiers ([],[],[]) ms in + let props, expos, strats, tc, tci = get_modifiers ([],[],[],false,false) ms in let prop = match props with | [{elt=P_prop (Assoc b);_};{elt=P_prop Commu;_}] @@ -119,7 +121,7 @@ let handle_modifiers : p_modifier list -> prop * expo * match_strat = | [] -> Eager | _ -> assert false in - (prop, expo, strat) + (prop, expo, strat, tc, tci) (** [check_rule ss syms r] checks rule [r] and returns the head symbol of the lhs and the rule itself. *) @@ -163,7 +165,8 @@ let handle_inductive_symbol : sig_state -> expo -> prop -> match_strat end; (* Actually add the symbol to the signature and the state. *) Console.out 2 (Color.red "symbol %a : %a") uid name term typ; - let r = Sig_state.add_symbol ss expo prop mstrat false id typ impl None in + let r = + Sig_state.add_symbol ss expo prop mstrat false id typ impl false false None in sig_state := fst r; r (** Representation of a yet unchecked proof. The structure is initialized when @@ -195,6 +198,8 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = Console.out 3 (Color.cya "%a") Pos.pp pos; Console.out 4 "%a" Pretty.command cmd; match elt with + | P_elpi(file,pred,arg) -> + (ss, None, (Elpi_handle.run ss file pred arg; None)) | P_query(q) -> (ss, None, Query.handle ss None q) | P_require(b,ps) -> (List.fold_left (handle_require compile b) ss ps, None, None) @@ -286,7 +291,11 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = | P_inductive(ms, params, p_ind_list) -> (* Check modifiers. *) - let (prop, expo, mstrat) = handle_modifiers ms in + let (prop, expo, mstrat,tc,tci) = handle_modifiers ms in + if tc then + fatal pos "Property typeclass cannot be used on inductive types."; + if tci then + fatal pos "Property instance cannot be used on inductive types."; if prop <> Defin then fatal pos "Property modifiers cannot be used on inductive types."; if mstrat <> Eager then @@ -354,7 +363,8 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = let pos = after (end_pos pos) in let id = Pos.make pos rec_name in let r = - Sig_state.add_symbol ss expo Defin Eager false id rec_typ [] None + Sig_state.add_symbol + ss expo Defin Eager false id rec_typ [] false false None in sig_state := fst r; r in (ss, rec_sym::rec_sym_list) @@ -392,7 +402,7 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = | _ -> () end; (* Verify modifiers. *) - let prop, expo, mstrat = handle_modifiers p_sym_mod in + let prop, expo, mstrat, tc, tci = handle_modifiers p_sym_mod in let opaq = List.exists Syntax.is_opaq p_sym_mod in let pdata_prv = expo = Privat || (p_sym_def && opaq) in (match p_sym_def, opaq, prop, mstrat with @@ -495,7 +505,7 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = wrn pe.pos "Proof admitted."; let t = Option.map (fun t -> t.elt) t in fst (Sig_state.add_symbol - ss expo prop mstrat opaq p_sym_nam a impl t) + ss expo prop mstrat opaq p_sym_nam a impl tc tci t) | P_proof_end -> (* Check that the proof is indeed finished. *) if not (finished ps) then @@ -506,7 +516,7 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = (* Add the symbol in the signature. *) Console.out 2 (Color.red "symbol %a : %a") uid id term a; fst (Sig_state.add_symbol - ss expo prop mstrat opaq p_sym_nam a impl d) + ss expo prop mstrat opaq p_sym_nam a impl tc tci d) in (* Create the proof state. *) let pdata_state = @@ -554,8 +564,10 @@ let get_proof_data : compiler -> sig_state -> p_command -> cmd_output = | Fatal(Some(Some(_)),_) as e -> raise e | Fatal(None ,m) -> fatal pos "Error on command.@.%s" m | Fatal(Some(None) ,m) -> fatal pos "Error on command.@.%s" m + (* | e -> fatal pos "Uncaught exception: %s." (Printexc.to_string e) +*) (** [handle compile_mod ss cmd] retrieves proof data from [cmd] (with {!val:get_proof_data}) and handles proofs using functions from diff --git a/src/handle/dune b/src/handle/dune index 05be56087..8703f3f57 100644 --- a/src/handle/dune +++ b/src/handle/dune @@ -2,4 +2,4 @@ (name handle) (public_name lambdapi.handle) (modules :standard) - (libraries lambdapi.core lambdapi.parsing lambdapi.tool)) + (libraries lambdapi.core lambdapi.parsing lambdapi.tool elpi)) diff --git a/src/handle/elpi_handle.ml b/src/handle/elpi_handle.ml new file mode 100644 index 000000000..e177a29d2 --- /dev/null +++ b/src/handle/elpi_handle.ml @@ -0,0 +1,269 @@ +open Elpi.API +open Core +open Elpi_lambdapi + +let ss : Sig_state.t State.component = + State.declare ~name:"elpi:ss" + ~pp:(fun _fmt _ -> ()) ~init:(fun () -> Sig_state.dummy) ~start:(fun x -> x) + +let goalc = RawData.Constants.declare_global_symbol "goal" +let ofc = RawData.Constants.declare_global_symbol "of" +let nablac = RawData.Constants.declare_global_symbol "nabla" +let sealc = RawData.Constants.declare_global_symbol "seal" + +let embed_goal : Term.meta Conversion.embedding = fun ~depth st m -> + let open Term in + let ty = + let open Timed in + !(m.meta_type) in + let open RawData in + let open Utils in + let rec aux ~depth st (c,ctx,i,args) ty = + match unfold ty with + | Prod (dom,b) -> + let st, dom, gls = embed_term ~ctx:c ~depth st dom in + let x,b,c = Ctxt.unbind c depth None b in + let st, g, gls1 = + aux ~depth:(depth+1) st + (c,(depth+1,mkApp ofc (mkBound depth) [dom])::ctx,i,x::args) b in + st, mkApp nablac (mkLam g) [], gls @ gls1 + | _ -> + let ctx = List.map (fun (from,t) -> move ~from ~to_:depth t) ctx in + let st, ty, gls = embed_term ~ctx:c ~depth st ty in + let m = mk_Meta (i,List.rev args |> List.map Term.of_tvar |> Array.of_list) in + let st, i, gls1 = embed_term ~ctx:c ~depth st m in + st, mkApp sealc (mkApp goalc (list_to_lp_list ctx) [ty; i]) [], gls @ gls1 + in + aux ~depth st ([],[],m,[]) ty + +let goal : Term.meta Conversion.t = { + Conversion.embed = embed_goal; + readback = (fun ~depth:_ _ _ -> assert false); + pp_doc = (fun fmt _ -> Format.fprintf fmt "TODO"); + pp = (fun fmt _ -> Format.fprintf fmt "TODO"); + ty = Conversion.TyName "sealed-goal" +} + +(** APIs (data types and predicates) exposed to Elpi *) +let lambdapi_builtin_declarations : BuiltIn.declaration list = + let open BuiltIn in + let open BuiltInPredicate in + let open BuiltInData in + let open BuiltInPredicate.Notation in +[ + LPDoc "---- Lambdapi datatypes ----"; + + MLData sym; + MLData term; + LPCode {| +kind sealed-goal type. +type nabla (term -> sealed-goal) -> sealed-goal. +type seal goal -> sealed-goal. + +kind goal type. +type goal list prop -> term -> term -> goal. + +type of term -> term -> prop. + +pred msolve o:list sealed-goal. + +|}; + + LPDoc "---- Builtin predicates ----"; + + MLCode(Pred("lp.sig", + In(sym,"S", + Out(term,"T", + Easy "Gives the type of a symbol")), + (fun s _ ~depth:_ -> !: (Timed.(!) s.Term.sym_type))), + DocAbove); + + MLCode(Pred("lp.tc-instances", + Out(list sym,"L", + Read (ContextualConversion.unit_ctx, "Gives the list of type class instances")), + (fun _ ~depth:_ _ _ state -> + let s = (State.get ss state).Sig_state.signature in + !: ((Timed.(!) s.Sign.sign_tc_inst) |> Term.SymSet.elements))), + DocAbove); + + MLCode(Pred("lp.tc?", + In(sym,"S", + Read (ContextualConversion.unit_ctx, "Tells if S is a type class")), + (fun sym ~depth:_ _ _ state -> + let s = (State.get ss state).Sig_state.signature in + if ((Timed.(!) s.Sign.sign_tc) |> Term.SymSet.mem sym) then () + else raise No_clause)), + DocAbove); + + MLCode(Pred("lp.term->string", + In(term,"T", + Out(string,"S", + Easy "Pretty prints a term T to the string S")), + (fun t _ ~depth:_ -> !: (Format.asprintf "%a" Print.term t))), + DocAbove); + + LPDoc "---- Elpi predicates ----"; + +] @ Elpi.Builtin.std_declarations + +let lambdapi_builtins = + BuiltIn.declare ~file_name:"lambdap.elpi" lambdapi_builtin_declarations + +let document () = + BuiltIn.document_file ~header:"% automatically generated" lambdapi_builtins + +(** The runtime of Elpi (we need only one I guess) *) +let elpi = ref None + +let init () = + let e = Setup.init + ~builtins:[lambdapi_builtins] + ~legacy_parser:false + ~file_resolver:(Parse.std_resolver ~paths:[] ()) () in + elpi := Some e; + document () + +(** Given an Elpi file, a predicate name and a Terms.term argument we + run Elpi and print the term before/after the execution *) +let run : Sig_state.t -> string -> string -> Parsing.Syntax.p_term -> unit = +fun ss file predicate arg -> + let pos = arg.Common.Pos.pos in + let loc = Elpi_AUX.loc_of_pos pos in + let arg = Parsing.Scope.scope_term false ss Env.empty arg in + let elpi = match !elpi with None -> assert false | Some x -> x in + + let ast = Parse.program ~elpi ~files:[file] in + let prog = + let flags = Elpi.API.Compile.default_flags in + ast |> + Elpi.API.Compile.unit ~flags ~elpi |> + (fun u -> Elpi.API.Compile.assemble ~elpi ~flags [u]) in + + let query = + let open Elpi.API.Query in + compile prog loc + (Query { predicate; arguments = (D(term,arg,Q(term,"it",N))) }) in + + if not (Elpi.API.Compile.static_check + ~checker:(Elpi.Builtin.default_checker ()) query) then + Common.Error.fatal pos "elpi: type error in %s" file; + + Common.Console.out 1 "\nelpi: before: %a\n" Print.term arg; + match Execute.once (Elpi.API.Compile.optimize query) with + | Execute.Success { + Data.state; pp_ctx; constraints; output = (arg1,()); _ + } -> + let _ = readback_assignments state in + Common.Console.out 1 "\nelpi: after: %a\n" Print.term arg1; + Common.Console.out 1 "elpi: constraints:@ @[%a@]\n" + Pp.(constraints pp_ctx) constraints + | Failure -> Common.Error.fatal_no_pos "elpi: failure" + | NoMoreSteps -> assert false + +let extend (cctx) v ?def ty = (v, ty, def) :: cctx + +let is_tc_instance : Sig_state.t -> Term.ctxt -> Term.meta -> bool = + fun ss c m -> + let open Timed in + let open Term in + let is_tc symb = + SymSet.mem symb !(ss.Sig_state.signature.Sign.sign_tc) in + let rec aux c t = + match get_args (unfold t) with + | Symb s, _ -> is_tc s + | Prod(dom, b), [] -> + let (x, b) = Bindlib.unbind b in + let c = extend c x dom in + aux c b + | _ -> false + in + aux c !(m.meta_type) + +let tc_metas_of_term : Sig_state.t -> Term.ctxt -> Term.term -> Term.meta list = + fun ss c t -> + let open Term in + let acc = ref [] in + let rec aux c t = + match unfold t with + | Meta(m,_) when is_tc_instance ss c m && not (List.memq m !acc) -> + acc := m :: !acc + | Abst (dom, b) | Prod(dom, b) -> + aux c dom; + let (x, b) = Bindlib.unbind b in + let c = extend c x dom in + aux c b + | LLet (dom, t, b) -> + aux c dom; + aux c t; + let (x, b) = Bindlib.unbind b in + let c = extend c x dom in + aux c b + | Appl(t,u) -> aux c t; aux c u + | Plac _ -> assert false (* term was inferred before *) + | _ -> () + in + aux c t; + !acc + + +let scope_ref : (Parsing.Syntax.p_term -> Term.term * (int * string) list) ref = ref (fun _ -> assert false) + +(* we set the state, Elpi.API.Qery lacks this function *) +let hack s c = { c with Conversion.embed = + fun ~depth state x -> + let state = State.set ss state s in + c.Conversion.embed ~depth state x +} + +let solve_tc : ?scope:(Parsing.Syntax.p_term -> Term.term * (int * string) list) -> Sig_state.t -> Common.Pos.popt -> Term.problem -> Term.ctxt -> + Term.term * Term.term -> Term.term * Term.term = + fun ?scope ss pos _pb ctxt (t,ty) -> + let tc = tc_metas_of_term ss ctxt t in + if tc <> [] then begin + let elpi = match !elpi with None -> assert false | Some x -> x in + Option.iter (fun f -> scope_ref := f) scope; + + Common.Console.out 1 "BEFORE TC RESOLUTION:@ %a : %a@\n" Print.term t Print.term ty; + + let file = "tcsolver.elpi" in + let predicate = "msolve" in + let pos = Elpi_AUX.loc_of_pos pos in + + let ast = Parse.program ~elpi ~files:[file] in + let prog = + let flags = Elpi.API.Compile.default_flags in + ast |> + Elpi.API.Compile.unit ~flags ~elpi |> + (fun u -> Elpi.API.Compile.assemble ~elpi ~flags [u]) in + + let query = + let open Elpi.API.Query in + let open Elpi.API.BuiltInData in + compile prog pos + (Query { predicate; arguments = (D(hack ss (list goal),tc,N)) }) in + + if not (Elpi.API.Compile.static_check + ~checker:(Elpi.Builtin.default_checker ()) query) then + Common.Error.fatal_no_pos "elpi: type error in %s" file; + + match Execute.once (Elpi.API.Compile.optimize query) with + | Execute.Success { Data.state; output = (); _ } -> + let _ = readback_assignments state in + () + | Failure -> Common.Error.fatal_no_pos "elpi: failure" + | NoMoreSteps -> assert false + end; + t, ty + +let lpq : Quotation.quotation = fun ~depth st _loc text -> + let open Parsing in + let ast = Parser.Lp.parse_string "xxx" ("type " ^ text ^ ";") in + match ast |> Stream.next |> fun x -> x.Common.Pos.elt with + | Syntax.P_query { Common.Pos.elt = Syntax.P_query_infer(t,_); _ } -> + (*Printf.eprintf "Q %s\n" text;*) + let t, pats = !scope_ref t in + let st, t, _ = embed_term ~pats ~depth st t in + st, t + | _ -> assert false + +let () = Quotation.set_default_quotation lpq diff --git a/src/handle/query.ml b/src/handle/query.ml index e12b4c5d0..5c94e11de 100644 --- a/src/handle/query.ml +++ b/src/handle/query.ml @@ -7,15 +7,20 @@ open Proof open Lplib open Base open Timed -let infer : Pos.popt -> problem -> ctxt -> term -> term * term = - fun pos p ctx t -> +let infer : ?scope:(Parsing.Syntax.p_term -> Term.term * (int * string) list) -> Sig_state.t -> Pos.popt -> problem -> ctxt -> term -> term * term = + fun ?scope ss pos p ctx t -> match Infer.infer_noexn p ctx t with | None -> fatal pos "%a is not typable." term t | Some (t, a) -> if Unif.solve_noexn p then begin - if !p.unsolved = [] then (t, a) - else + if !p.unsolved = [] then begin + let t, a = Elpi_handle.solve_tc ?scope ss pos p ctx (t, a) in + match Infer.infer_noexn p ctx t with + | None -> fatal pos "%a is not typable AFTER TC RESOLUTION!!!!" term t + | _ -> Common.Console.out 1 "TC RESOLUTION OK!@ "; + t, a + end else (List.iter (wrn pos "Cannot solve %a." constr) !p.unsolved; fatal pos "Failed to infer the type of %a." term t) end @@ -179,9 +184,9 @@ let handle : Sig_state.t -> proof_state option -> p_query -> result = Console.out 2 "assertion: it is %b that %a" (not must_fail) constr (ctxt, t, u); (* Check that [t] is typable. *) - let (t, a) = infer pt.pos p ctxt t in + let (t, a) = infer ss pt.pos p ctxt t in (* Check that [u] is typable. *) - let (u, b) = infer pu.pos p ctxt u in + let (u, b) = infer ss pu.pos p ctxt u in (* Check that [t] and [u] have the same type. *) p := {!p with to_solve = (ctxt,a,b)::!p.to_solve}; if Unif.solve_noexn p then @@ -200,8 +205,12 @@ let handle : Sig_state.t -> proof_state option -> p_query -> result = None | P_query_infer(pt, cfg) -> let t = scope pt in - return term (Eval.eval cfg ctxt (snd (infer pt.pos p ctxt t))) + let scope = Scope.scope_term_w_pats ~typ:false ~mok true ss env in + let t, ty = infer ss ~scope pt.pos p ctxt t in + let t = Eval.eval cfg ctxt t in + let ty = Eval.eval cfg ctxt ty in + return typing (ctxt,t,ty) | P_query_normalize(pt, cfg) -> let t = scope pt in - let t, _ = infer pt.pos p ctxt t in + let t, _ = infer ss pt.pos p ctxt t in return term (Eval.eval cfg ctxt t) diff --git a/src/handle/query.mli b/src/handle/query.mli index 83eadb07f..23db36608 100644 --- a/src/handle/query.mli +++ b/src/handle/query.mli @@ -10,7 +10,7 @@ open Proof refinement of [t]. Note that [p] gets modified. Context [c] must well sorted. @raise Fatal if [t] cannot be typed. *) -val infer : popt -> problem -> ctxt -> term -> term * term +val infer : ?scope:(Parsing.Syntax.p_term -> Core.Term.term * (int * string) list) -> Sig_state.t -> popt -> problem -> ctxt -> term -> term * term (** [check pos p c t a] checks that the term [t] has type [a] in context [c] and under the constraints of [p], and returns [t] refined. Context [c] diff --git a/src/handle/rewrite.ml b/src/handle/rewrite.ml index ffd8f8c02..4ae6aa60c 100644 --- a/src/handle/rewrite.ml +++ b/src/handle/rewrite.ml @@ -321,7 +321,7 @@ let rewrite : Sig_state.t -> problem -> popt -> goal_typ -> bool -> (* Infer the type of [t] (the argument given to the tactic). *) let g_ctxt = Env.to_ctxt g_env in - let (t, t_type) = Query.infer pos p g_ctxt t in + let (t, t_type) = Query.infer ss pos p g_ctxt t in (* Check that [t_type ≡ Π x1:a1, ..., Π xn:an, P (eq a l r)]. *) let (a, l, r), vars = get_eq_data cfg pos t_type in diff --git a/src/handle/tactic.ml b/src/handle/tactic.ml index 3fdd7bea1..c0dbf3745 100644 --- a/src/handle/tactic.ml +++ b/src/handle/tactic.ml @@ -41,7 +41,7 @@ let add_axiom : Sig_state.t -> popt -> meta -> sym = (* We ignore the new ss returned by Sig_state.add_symbol: axioms do not need to be in scope. *) snd (Sig_state.add_symbol ss - Public Defin Eager true id !(m.meta_type) [] None) + Public Defin Eager true id !(m.meta_type) [] false false None) in (* Create the value which will be substituted for the metavariable. This value is [sym x0 ... xn] where [xi] are variables that will be diff --git a/src/parsing/lpLexer.ml b/src/parsing/lpLexer.ml index ff575c8c2..715f26573 100644 --- a/src/parsing/lpLexer.ml +++ b/src/parsing/lpLexer.ml @@ -45,6 +45,7 @@ type token = | COMPUTE | CONSTANT | DEBUG + | ELPI | END | FAIL | FLAG @@ -55,6 +56,7 @@ type token = | INDUCTIVE | INFIX | INJECTIVE + | INSTANCE | LET | NOTATION | OPAQUE @@ -80,6 +82,7 @@ type token = | SYMMETRY | TYPE_QUERY | TYPE_TERM + | TYPECLASS | UNIF_RULE | VERBOSE | WHY3 @@ -208,6 +211,7 @@ let rec token lb = | "compute" -> COMPUTE | "constant" -> CONSTANT | "debug" -> DEBUG + | "elpi" -> ELPI | "end" -> END | "fail" -> FAIL | "flag" -> FLAG @@ -218,6 +222,7 @@ let rec token lb = | "inductive" -> INDUCTIVE | "infix" -> INFIX | "injective" -> INJECTIVE + | "instance" -> INSTANCE | "left" -> SIDE(Pratter.Left) | "let" -> LET | "notation" -> NOTATION @@ -246,6 +251,7 @@ let rec token lb = | "symbol" -> SYMBOL | "symmetry" -> SYMMETRY | "type" -> TYPE_QUERY + | "typeclass" -> TYPECLASS | "TYPE" -> TYPE_TERM | "unif_rule" -> UNIF_RULE | "verbose" -> VERBOSE diff --git a/src/parsing/lpParser.mly b/src/parsing/lpParser.mly index 8c24556b8..42fd53310 100644 --- a/src/parsing/lpParser.mly +++ b/src/parsing/lpParser.mly @@ -38,6 +38,7 @@ %token COMPUTE %token CONSTANT %token DEBUG +%token ELPI %token END %token FAIL %token FLAG @@ -48,6 +49,7 @@ %token INDUCTIVE %token INFIX %token INJECTIVE +%token INSTANCE %token LET %token NOTATION %token OPAQUE @@ -73,6 +75,7 @@ %token SYMMETRY %token TYPE_QUERY %token TYPE_TERM +%token TYPECLASS %token UNIF_RULE %token VERBOSE %token WHY3 @@ -162,6 +165,8 @@ command: | NOTATION i=qid_or_nat n=notation SEMICOLON { make_pos $loc (P_notation(i,n)) } | q=query SEMICOLON { make_pos $sloc (P_query(q)) } + | ELPI f=STRINGLIT p=STRINGLIT a=term SEMICOLON + { make_pos $sloc (P_elpi(f,p,a)) } | EOF { raise End_of_file } query: @@ -202,6 +207,8 @@ modifier: | PRIVATE { make_pos $sloc (P_expo Term.Privat) } | PROTECTED { make_pos $sloc (P_expo Term.Protec) } | SEQUENTIAL { make_pos $sloc (P_mstrat Term.Sequen) } + | TYPECLASS { make_pos $sloc P_typeclass } + | INSTANCE { make_pos $sloc P_typeclass_instance } uid: s=UID { make_pos $sloc s} diff --git a/src/parsing/scope.ml b/src/parsing/scope.ml index 964e18d1d..525d05e0a 100644 --- a/src/parsing/scope.ml +++ b/src/parsing/scope.ml @@ -483,12 +483,28 @@ let scope = a type (defaults to [false]). No {b new} metavariables may appear in [t], but metavariables in the image of [mok] may be used. The function [mok] defaults to the function constant to [None] *) -let scope_term : ?typ:bool -> ?mok:(int -> meta option) -> +let scope_term: ?typ:bool -> ?mok:(int -> meta option) -> bool -> sig_state -> env -> p_term -> term = fun ?(typ=false) ?(mok=fun _ -> None) m_term_prv ss env t -> let md = M_Term {m_term_meta_of_key=mok; m_term_prv} in Bindlib.unbox (scope ~typ 0 md ss env t) +let scope_term_w_pats: ?typ:bool -> ?mok:(int -> meta option) -> + bool -> sig_state -> env -> p_term -> term * (int * string) list = + fun ?(typ=false) ?(mok=fun _ -> None) m_term_prv ss env t -> + let names = Hashtbl.create 1 in + let md = M_LHS { + m_lhs_prv = false; + m_lhs_indices = Hashtbl.create 1; + m_lhs_arities = Hashtbl.create 1; + m_lhs_names = names; + m_lhs_size = 0; + m_lhs_in_env = [] + } in + let t = Bindlib.unbox (scope ~typ 0 md ss env t) in + t, List.of_seq (Hashtbl.to_seq names) + + (** [patt_vars t] returns a couple [(pvs,nl)]. The first compoment [pvs] is an association list giving the arity of all the “pattern variables” appearing in the parser-level term [t]. The second component [nl] contains the names diff --git a/src/parsing/scope.mli b/src/parsing/scope.mli index 91d2cb6c8..5478c442f 100644 --- a/src/parsing/scope.mli +++ b/src/parsing/scope.mli @@ -18,6 +18,11 @@ val scope_term : ?mok:(int -> meta option) -> bool -> sig_state -> env -> p_term -> term +val scope_term_w_pats : + ?typ:bool (* default: false *) -> + ?mok:(int -> meta option) -> + bool -> sig_state -> env -> p_term -> term * (int * string) list + (** Representation of a rewriting rule prior to SR-checking. *) type pre_rule = { pr_sym : sym diff --git a/src/parsing/syntax.ml b/src/parsing/syntax.ml index 7780c76c4..869118c25 100644 --- a/src/parsing/syntax.ml +++ b/src/parsing/syntax.ml @@ -234,6 +234,8 @@ type p_modifier_aux = | P_expo of Term.expo (** visibility of symbol outside its modules *) | P_prop of Term.prop (** symbol properties: constant, definable, ... *) | P_opaq (** opacity *) + | P_typeclass + | P_typeclass_instance type p_modifier = p_modifier_aux loc @@ -266,6 +268,7 @@ type p_command_aux = | P_unif_rule of p_rule | P_coercion of p_rule | P_query of p_query + | P_elpi of string * string * p_term (** Parser-level representation of a single (located) command. *) type p_command = p_command_aux loc diff --git a/tcsolver.elpi b/tcsolver.elpi new file mode 100644 index 000000000..1c2319244 --- /dev/null +++ b/tcsolver.elpi @@ -0,0 +1,34 @@ +msolve L :- + compile_all Cl, + Cl => std.forall L (open tc). + +pred open i:(term -> term -> prop), i:sealed-goal. +open P (nabla F) :- pi x\ open P (F x). +open P (seal (goal Ctx Ty Wit)) :- + print "TC PROBLEM:\n" Ctx "|-\n" Wit ":" Ty "\n", + Ctx => P Ty Wit, + print "TC INSTANCE:\n" Ctx "|-\n" Wit ":" Ty "\n". + +:index(_ 4) +pred tc o:term, o:term. + +pred compile i:term, i:list prop, i:term, o:prop. +compile (prod (appl T U) F) TODO H (pi x\ C x) :- + T = symb S, lp.tc? S, + !, + pi x\ + compile (F x) [tc (appl T U) x |TODO] (appl H x) (C x). + +compile (prod _ F) TODO H (pi x\ C x) :- + !, + pi x\ + compile (F x) TODO (appl H x) (C x). + +compile End TODO HD (tc End HD :- TODO). + +pred compile_all o:list prop. +compile_all Props :- + lp.tc-instances Candidates, + std.map Candidates + (N\claus\ sigma T\ lp.sig N T, compile T [] (symb N) claus) + Props. diff --git a/tests/OK/elpitest.elpi b/tests/OK/elpitest.elpi new file mode 100644 index 000000000..748347590 --- /dev/null +++ b/tests/OK/elpitest.elpi @@ -0,0 +1,29 @@ +main T T1 :- + print "before type inference" T, + of T _, + print "\nafter type inference" T, + T1 = T. + + +pred of i:term, o:term. + +% API to access the type of a symbol +of (symb S) T :- lp.sig S T. + +% silly rules +of (prod A B) T :- + of A typ, + pi x\ of x A => of (B x) T. + +of (appl H A) Ta :- + of H (prod S T), + of A S, + Ta = T A. + +% suspension of typing on holes (type constraint) +of U T :- var U, declare_constraint (of U T) [U]. + +% uniqueness of typing +constraint of { + rule (of (uvar X _) T) \ (of (uvar X _) S) <=> (S = T). +} diff --git a/tests/OK/elpitest.lp b/tests/OK/elpitest.lp new file mode 100644 index 000000000..48eaedb35 --- /dev/null +++ b/tests/OK/elpitest.lp @@ -0,0 +1,44 @@ +/* dune exec lambdapi check tests/OK/elpitest.lp */ +require open tests.OK.logic; +require open tests.OK.bool; +require open tests.OK.nat; + +flag "print_implicits" on; // default is off +flag "print_contexts" on; // default is off +flag "print_domains" on; // default is off +flag "print_meta_types" on; // default is off + +constant typeclass symbol eqdec : U → TYPE; +constant symbol mk_eqdec [i] : + Π (f : T i → T i → B), + // (Π (x y : T i), P ({|and|} (imp (x = y) (f x y = true))(imp (f x y = true) (x = y)))) → + eqdec i; + +symbol == [i:U] [j:eqdec i] : T i → T i → B; +notation == infix 1; + +/* extra stdlib */ +symbol eq_bool : B → B → B ≔ λ b1 b2, bool_neg (bool_xor b1 b2); +symbol Pair : U → U → TYPE; +symbol mk_Pair [i] [j] : T i → T j → Pair i j; +symbol pair : U → U → U; +rule T (pair $i $j) ↪ Pair $i $j; + +instance symbol bool_eqdec : eqdec bool ≔ mk_eqdec eq_bool /* p */; +instance symbol nat_eqdec : eqdec nat ≔ mk_eqdec eq_nat /* p */; +instance symbol pair_eqdec : Π i j, eqdec i → eqdec j → eqdec (pair i j); + /* ≔ mk_eqdec eq_nat ; */ + +type λ b , true == b; +type λ n , 1 == n; +type λ n : T nat, λ b : T bool, mk_Pair 1 true == mk_Pair n b; + +rule @== _ (@mk_eqdec _ $f /* _ */) ↪ $f; + +compute true == true; +compute true == false; +compute 1 == 0; + +// assert ⊢ eqop _ true false : B; +// elpi "tests/OK/elpitest.elpi" "main" +// (Π x y , P (x = y) → P (y = x)); diff --git a/tests/rewriting.ml b/tests/rewriting.ml index 4a945c469..ec8609bed 100644 --- a/tests/rewriting.ml +++ b/tests/rewriting.ml @@ -15,7 +15,7 @@ let scope_term ss = Scope.scope_term true ss [] let add_sym ss id = Sig_state.add_symbol ss Public Defin Eager true (Pos.none id) Term.mk_Kind [] - None + false false None (* Define a signature state and some symbols. *) From c58aef2acac63426a4bca4cbcf0d4cea7689ffa5 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Fri, 27 Jan 2023 15:34:28 +0100 Subject: [PATCH 04/25] xxx --- out/Coq__Init__Logic.lp | 30148 +++++++++++++++++++++++++++++++++++++ out/Makefile | 4 - out/compile.sh | 9 + out/{ => coq}/cupicef.lp | 0 out/lambdapi.pkg | 2 - 5 files changed, 30157 insertions(+), 6 deletions(-) create mode 100644 out/Coq__Init__Logic.lp delete mode 100644 out/Makefile create mode 100755 out/compile.sh rename out/{ => coq}/cupicef.lp (100%) delete mode 100644 out/lambdapi.pkg diff --git a/out/Coq__Init__Logic.lp b/out/Coq__Init__Logic.lp new file mode 100644 index 000000000..18cd3f66e --- /dev/null +++ b/out/Coq__Init__Logic.lp @@ -0,0 +1,30148 @@ +flag "eta_equality" on; +require coq.cupicef as cupicef; +symbol True : cupicef.Univ cupicef.prop; +symbol I : cupicef.Term cupicef.prop True; +rule cupicef.code_guarded? _ I ↪ cupicef.guarded; +symbol match____True + : Π (s : cupicef.Sort), + Π (P : cupicef.Term cupicef.prop True → cupicef.Univ s), + Π (case__I : cupicef.Term s (P I)), + Π (x : cupicef.Term cupicef.prop True), cupicef.Term s (P x); +rule match____True $s $P $case__I I ↪ $case__I; +rule match____True $s + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ +match____True $s' (λ x, $P.[x]); +symbol True__rect + : Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), + Π (t : cupicef.Term cupicef.prop True), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P + ≔ λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), + λ (t : cupicef.Term cupicef.prop True), + match____True (cupicef.{|type|} (cupicef.s cupicef.z)) + (λ (__ : cupicef.Term cupicef.prop True), P) f t; +symbol True__ind + : Π (P : cupicef.Univ cupicef.prop), + Π (f : cupicef.Term cupicef.prop P), + Π (t : cupicef.Term cupicef.prop True), cupicef.Term cupicef.prop P + ≔ λ (P : cupicef.Univ cupicef.prop), + λ (f : cupicef.Term cupicef.prop P), + λ (t : cupicef.Term cupicef.prop True), + match____True cupicef.prop + (λ (__ : cupicef.Term cupicef.prop True), P) f t; +symbol True__rec + : Π (P : cupicef.Univ cupicef.set), + Π (f : cupicef.Term cupicef.set P), + Π (t : cupicef.Term cupicef.prop True), cupicef.Term cupicef.set P + ≔ λ (P : cupicef.Univ cupicef.set), + True__rect + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P); +symbol False : cupicef.Univ cupicef.prop; +symbol match____False + : Π (s : cupicef.Sort), + Π (P : cupicef.Term cupicef.prop False → cupicef.Univ s), + Π (x : cupicef.Term cupicef.prop False), cupicef.Term s (P x); +rule match____False $s + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ +match____False $s' (λ x, $P.[x]); +symbol False__rect + : Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (f : cupicef.Term cupicef.prop False), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P + ≔ λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (f : cupicef.Term cupicef.prop False), + match____False (cupicef.{|type|} (cupicef.s cupicef.z)) + (λ (__ : cupicef.Term cupicef.prop False), P) f; +symbol False__ind + : Π (P : cupicef.Univ cupicef.prop), + Π (f : cupicef.Term cupicef.prop False), cupicef.Term cupicef.prop P + ≔ λ (P : cupicef.Univ cupicef.prop), + λ (f : cupicef.Term cupicef.prop False), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), P) f; +symbol False__rec + : Π (P : cupicef.Univ cupicef.set), + Π (f : cupicef.Term cupicef.prop False), cupicef.Term cupicef.set P + ≔ λ (P : cupicef.Univ cupicef.set), + False__rect + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) cupicef.I) + cupicef.I P); +symbol not : Π (A : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ cupicef.prop), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False); +symbol and + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop; +symbol conj + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (and A B); +rule cupicef.code_guarded? _ (conj _ _ _ _) ↪ cupicef.guarded; +symbol match____and + : Π (s : cupicef.Sort), + Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Term cupicef.prop (and A B) → cupicef.Univ s), + Π + ( + case__conj : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term s (P (conj A B __ __0)) + ), + Π (x : cupicef.Term cupicef.prop (and A B)), + cupicef.Term s (P x); +rule match____and $s $A $B $P $case__conj (conj $A $B $__ $__0) ↪ $case__conj + $__ $__0; +rule match____and $s $A $B + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ +match____and $s' $A $B (λ x, $P.[x]); +symbol and__rect + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P + ), + Π (a : cupicef.Term cupicef.prop (and A B)), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P + ), + λ (a : cupicef.Term cupicef.prop (and A B)), + match____and (cupicef.{|type|} (cupicef.s cupicef.z)) A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), P) f a; +symbol and__ind + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Univ cupicef.prop), + Π + ( + f : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop P + ), + Π (a : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop P + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (P : cupicef.Univ cupicef.prop), + λ + ( + f : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop P + ), + λ (a : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), P) f a; +symbol and__rec + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Univ cupicef.set), + Π + ( + f : Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.set P + ), + Π (a : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.set P + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (P : cupicef.Univ cupicef.set), + and__rect A B + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.set + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I P); +opaque symbol proj1 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop A + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), A) + (λ (H0 : cupicef.Term cupicef.prop A), + λ (H1 : cupicef.Term cupicef.prop B), H0) + H; +opaque symbol proj2 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop B + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), B) + (λ (H0 : cupicef.Term cupicef.prop A), + λ (H1 : cupicef.Term cupicef.prop B), H1) + H; +symbol or + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop; +symbol or__introl + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop (or A B); +symbol or__intror + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (or A B); +rule cupicef.code_guarded? _ (or__introl _ _ _) ↪ cupicef.guarded; +rule cupicef.code_guarded? _ (or__intror _ _ _) ↪ cupicef.guarded; +symbol match____or + : Π (s : cupicef.Sort), + Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Term cupicef.prop (or A B) → cupicef.Univ s), + Π + ( + case__or__introl : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term s (P (or__introl A B __)) + ), + Π + ( + case__or__intror : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term s (P (or__intror A B __)) + ), + Π (x : cupicef.Term cupicef.prop (or A B)), + cupicef.Term s (P x); +rule match____or $s $A $B $P $case__or__introl $case__or__intror + (or__introl $A $B $__) ↪ $case__or__introl $__; +rule match____or $s $A $B $P $case__or__introl $case__or__intror + (or__intror $A $B $__) ↪ $case__or__intror $__; +rule match____or $s $A $B + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ +match____or $s' $A $B (λ x, $P.[x]); +symbol or__ind + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (P : cupicef.Univ cupicef.prop), + Π + ( + f : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop P + ), + Π + ( + f0 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop P + ), + Π (o : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop P + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (P : cupicef.Univ cupicef.prop), + λ + ( + f : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop P + ), + λ + ( + f0 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop P + ), + λ (o : cupicef.Term cupicef.prop (or A B)), + match____or cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (or A B)), P) f f0 o; +symbol iff + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)); +opaque symbol iff__refl + : Π (A : cupicef.Univ cupicef.prop), cupicef.Term cupicef.prop (iff A A) + ≔ λ (A : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), A)) + (λ (H : cupicef.Term cupicef.prop A), H) + (λ (H : cupicef.Term cupicef.prop A), H); +opaque symbol iff__trans + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff A B)), + Π (__0 : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop (iff A C) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff A B)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A))) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff B C) + (λ (__0 : cupicef.Term cupicef.prop (iff B C)), iff A C)) + (λ + ( + H1 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + H2 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ (H0 : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + C (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), iff A C) + (λ + ( + H3 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + H4 : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), A)) + (λ (H5 : cupicef.Term cupicef.prop A), H3 (H1 H5)) + (λ (H5 : cupicef.Term cupicef.prop C), + H2 (H1 (H2 (H4 H5))))) + H0) + H; +opaque symbol iff__sym + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff A B)), + cupicef.Term cupicef.prop (iff B A) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff A B)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__ : cupicef.Term cupicef.prop B), A))) + ), iff B A) + (λ + ( + H1 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + H2 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + H2 H1) + H; +opaque symbol and__iff__compat__l + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop (iff (and A B) (and A C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), iff (and A B) (and A C)) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and A B) + (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and A C) + (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B)) + (λ (H0 : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C) + (λ (H1 : cupicef.Term cupicef.prop A), + λ (H2 : cupicef.Term cupicef.prop B), + conj A C H1 (Hl H2)) + H0) + (λ (H0 : cupicef.Term cupicef.prop (and A C)), + match____and cupicef.prop A C + (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B) + (λ (H1 : cupicef.Term cupicef.prop A), + λ (H2 : cupicef.Term cupicef.prop C), + conj A B H1 (Hr H2)) + H0)) + H; +opaque symbol and__iff__compat__r + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop (iff (and B A) (and C A)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), iff (and B A) (and C A)) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and B A) + (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and C A) + (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A)) + (λ (H0 : cupicef.Term cupicef.prop (and B A)), + match____and cupicef.prop B A + (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A) + (λ (H1 : cupicef.Term cupicef.prop B), + λ (H2 : cupicef.Term cupicef.prop A), + conj C A (Hl H1) H2) + H0) + (λ (H0 : cupicef.Term cupicef.prop (and C A)), + match____and cupicef.prop C A + (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A) + (λ (H1 : cupicef.Term cupicef.prop C), + λ (H2 : cupicef.Term cupicef.prop A), + conj B A (Hr H1) H2) + H0)) + H; +opaque symbol or__iff__compat__l + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop (iff (or A B) (or A C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), iff (or A B) (or A C)) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or A B) + (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or A C) + (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B)) + (λ (H0 : cupicef.Term cupicef.prop (or A B)), + match____or cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C) + (λ (H1 : cupicef.Term cupicef.prop A), + or__introl A C H1) + (λ (H1 : cupicef.Term cupicef.prop B), + or__intror A C (Hl H1)) + H0) + (λ (H0 : cupicef.Term cupicef.prop (or A C)), + match____or cupicef.prop A C + (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B) + (λ (H1 : cupicef.Term cupicef.prop A), + or__introl A B H1) + (λ (H1 : cupicef.Term cupicef.prop C), + or__intror A B (Hr H1)) + H0)) + H; +opaque symbol or__iff__compat__r + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop (iff (or B A) (or C A)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), iff (or B A) (or C A)) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or B A) + (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or C A) + (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A)) + (λ (H0 : cupicef.Term cupicef.prop (or B A)), + match____or cupicef.prop B A + (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A) + (λ (H1 : cupicef.Term cupicef.prop B), + or__introl C A (Hl H1)) + (λ (H1 : cupicef.Term cupicef.prop A), + or__intror C A H1) + H0) + (λ (H0 : cupicef.Term cupicef.prop (or C A)), + match____or cupicef.prop C A + (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A) + (λ (H1 : cupicef.Term cupicef.prop C), + or__introl B A (Hr H1)) + (λ (H1 : cupicef.Term cupicef.prop A), + or__intror B A H1) + H0)) + H; +opaque symbol imp__iff__compat__l + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop + (iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), C))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), + iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), C))) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__0 : cupicef.Term cupicef.prop A), C))) + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), C)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop C + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__0 : cupicef.Term cupicef.prop A), B))) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), λ (H1 : cupicef.Term cupicef.prop A), Hl (H0 H1)) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop C + ), λ (H1 : cupicef.Term cupicef.prop A), Hr (H0 H1))) + H; +opaque symbol imp__iff__compat__r + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff B C)), + cupicef.Term cupicef.prop + (iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__0 : cupicef.Term cupicef.prop C), A))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff B C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B))) + ), + iff + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__0 : cupicef.Term cupicef.prop C), A))) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop C + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop B + ), + conj + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + C (λ (__0 : cupicef.Term cupicef.prop C), A))) + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), A)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__0 : cupicef.Term cupicef.prop B), A))) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), λ (H1 : cupicef.Term cupicef.prop C), H0 (Hr H1)) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), λ (H1 : cupicef.Term cupicef.prop B), H0 (Hl H1))) + H; +opaque symbol not__iff__compat + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff A B)), + cupicef.Term cupicef.prop (iff (not A) (not B)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff A B)), + imp__iff__compat__r False A B H; +opaque symbol neg__false + : Π (A : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop (iff (not A) (iff A False)) + ≔ λ (A : cupicef.Univ cupicef.prop), + cupicef.cast cupicef.prop cupicef.prop + (and + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), iff A False)) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I (iff A False) + (λ (__ : cupicef.Term cupicef.prop (iff A False)), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), False)))) + (iff (not A) (iff A False)) cupicef.I + (conj + (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False)) + (λ + ( + __ : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), iff A False)) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I (iff A False) + (λ (__ : cupicef.Term cupicef.prop (iff A False)), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), False))) + (λ + ( + H : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I False + (λ (__ : cupicef.Term cupicef.prop False), A)) + H (λ (H1 : cupicef.Term cupicef.prop False), False__ind A H1)) + (λ (H0 : cupicef.Term cupicef.prop (iff A False)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I False + (λ (__ : cupicef.Term cupicef.prop False), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), False)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + False (λ (__ : cupicef.Term cupicef.prop False), A))) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), False)) + (λ + ( + H : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), + λ + ( + __tmp : Π (__ : cupicef.Term cupicef.prop False), + cupicef.Term cupicef.prop A + ), H) + H0)); +symbol let__H0 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + Π (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), + Π + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop (and A C) + ), + Π + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop (and A B) + ), + Π (H0 : cupicef.Term cupicef.prop B), + Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop C + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + λ (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), + λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop (and A C) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop (and A B) + ), + λ (H0 : cupicef.Term cupicef.prop B), + λ (__ : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A C + (λ (__0 : cupicef.Term cupicef.prop (and A C)), C) + (λ (__0 : cupicef.Term cupicef.prop A), + λ (__1 : cupicef.Term cupicef.prop C), __1) + (HypL __); +symbol let__H1 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + Π (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), + Π + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop (and A C) + ), + Π + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop (and A B) + ), + Π (H0 : cupicef.Term cupicef.prop C), + Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop B + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + λ (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), + λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop (and A C) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop (and A B) + ), + λ (H0 : cupicef.Term cupicef.prop C), + λ (__ : cupicef.Term cupicef.prop (and A C)), + match____and cupicef.prop A B + (λ (__0 : cupicef.Term cupicef.prop (and A B)), B) + (λ (__0 : cupicef.Term cupicef.prop A), + λ (__1 : cupicef.Term cupicef.prop B), __1) + (HypR __); +opaque symbol and__cancel__l + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + __ : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + __0 : Π (__0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + cupicef.Term cupicef.prop + (iff (iff (and A B) (and A C)) (iff B C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff (and A B) (and A C)) + (λ + (__ : cupicef.Term cupicef.prop (iff (and A B) (and A C)) + ), iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff B C) + (λ (__ : cupicef.Term cupicef.prop (iff B C)), + iff (and A B) (and A C))) + (λ + (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and A B) + (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and A C) + (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (and A B) + (λ (__ : cupicef.Term cupicef.prop (and A B)), + and A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (and A C) + (λ (__ : cupicef.Term cupicef.prop (and A C)), + and A B))) + ), iff B C) + (λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.Term cupicef.prop (and A C) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), + cupicef.Term cupicef.prop (and A B) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ (H0 : cupicef.Term cupicef.prop B), + let__H0 A B C Hl Hr H HypL HypR H0 + (conj A B (Hl H0) H0)) + (λ (H0 : cupicef.Term cupicef.prop C), + let__H1 A B C Hl Hr H HypL HypR H0 + (conj A C (Hr H0) H0))) + H) + (and__iff__compat__l A B C); +symbol let__H2 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + Π (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), + Π + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop (and C A) + ), + Π + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop (and B A) + ), + Π (H0 : cupicef.Term cupicef.prop B), + Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop C + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + λ (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), + λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop (and C A) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop (and B A) + ), + λ (H0 : cupicef.Term cupicef.prop B), + λ (__ : cupicef.Term cupicef.prop (and B A)), + match____and cupicef.prop C A + (λ (__0 : cupicef.Term cupicef.prop (and C A)), C) + (λ (__0 : cupicef.Term cupicef.prop C), + λ (__1 : cupicef.Term cupicef.prop A), __0) + (HypL __); +symbol let__H3 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + Π (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), + Π + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop (and C A) + ), + Π + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop (and B A) + ), + Π (H0 : cupicef.Term cupicef.prop C), + Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop B + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + λ (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), + λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop (and C A) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop (and B A) + ), + λ (H0 : cupicef.Term cupicef.prop C), + λ (__ : cupicef.Term cupicef.prop (and C A)), + match____and cupicef.prop B A + (λ (__0 : cupicef.Term cupicef.prop (and B A)), B) + (λ (__0 : cupicef.Term cupicef.prop B), + λ (__1 : cupicef.Term cupicef.prop A), __0) + (HypR __); +opaque symbol and__cancel__r + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + __ : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + Π + ( + __0 : Π (__0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + cupicef.Term cupicef.prop + (iff (iff (and B A) (and C A)) (iff B C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff (and B A) (and C A)) + (λ + (__ : cupicef.Term cupicef.prop (iff (and B A) (and C A)) + ), iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff B C) + (λ (__ : cupicef.Term cupicef.prop (iff B C)), + iff (and B A) (and C A))) + (λ + (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and B A) + (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and C A) + (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (and B A) + (λ (__ : cupicef.Term cupicef.prop (and B A)), + and C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (and C A) + (λ (__ : cupicef.Term cupicef.prop (and C A)), + and B A))) + ), iff B C) + (λ + ( + HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), + cupicef.Term cupicef.prop (and C A) + ), + λ + ( + HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), + cupicef.Term cupicef.prop (and B A) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ (H0 : cupicef.Term cupicef.prop B), + let__H2 A B C Hl Hr H HypL HypR H0 + (conj B A H0 (Hl H0))) + (λ (H0 : cupicef.Term cupicef.prop C), + let__H3 A B C Hl Hr H HypL HypR H0 + (conj C A H0 (Hr H0)))) + H) + (and__iff__compat__r A B C); +opaque symbol and__comm + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop (iff (and A B) (and B A)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (and A B) + (λ (__ : cupicef.Term cupicef.prop (and A B)), and B A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (and B A) + (λ (__ : cupicef.Term cupicef.prop (and B A)), and A B)) + (λ (H : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), and B A) + (λ (H0 : cupicef.Term cupicef.prop A), + λ (H1 : cupicef.Term cupicef.prop B), conj B A H1 H0) + H) + (λ (H : cupicef.Term cupicef.prop (and B A)), + match____and cupicef.prop B A + (λ (__ : cupicef.Term cupicef.prop (and B A)), and A B) + (λ (H0 : cupicef.Term cupicef.prop B), + λ (H1 : cupicef.Term cupicef.prop A), conj A B H1 H0) + H); +opaque symbol and__assoc + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop (iff (and (and A B) C) (and A (and B C))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and (and A B) C) + (λ (__ : cupicef.Term cupicef.prop (and (and A B) C)), + and A (and B C))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and A (and B C)) + (λ (__ : cupicef.Term cupicef.prop (and A (and B C))), + and (and A B) C)) + (λ (H : cupicef.Term cupicef.prop (and (and A B) C)), + match____and cupicef.prop (and A B) C + (λ (__ : cupicef.Term cupicef.prop (and (and A B) C)), + and A (and B C)) + (λ (H0 : cupicef.Term cupicef.prop (and A B)), + match____and cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (and A B)), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C + (λ (__0 : cupicef.Term cupicef.prop C), and A (and B C))) + (λ (H1 : cupicef.Term cupicef.prop A), + λ (H2 : cupicef.Term cupicef.prop B), + λ (H3 : cupicef.Term cupicef.prop C), + conj A (and B C) H1 (conj B C H2 H3)) + H0) + H) + (λ (H : cupicef.Term cupicef.prop (and A (and B C))), + match____and cupicef.prop A (and B C) + (λ (__ : cupicef.Term cupicef.prop (and A (and B C))), + and (and A B) C) + (λ (H0 : cupicef.Term cupicef.prop A), + λ (H1 : cupicef.Term cupicef.prop (and B C)), + match____and cupicef.prop B C + (λ (__ : cupicef.Term cupicef.prop (and B C)), + and (and A B) C) + (λ (H2 : cupicef.Term cupicef.prop B), + λ (H3 : cupicef.Term cupicef.prop C), + conj (and A B) C (conj A B H0 H2) H3) + H1) + H); +symbol let__o + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + Π (H0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (or A C) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + λ (H0 : cupicef.Term cupicef.prop B), + Hl (or__intror A B H0); +symbol let__n + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + Π (H0 : cupicef.Term cupicef.prop B), + Π (H1 : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + λ (H0 : cupicef.Term cupicef.prop B), + λ (H1 : cupicef.Term cupicef.prop A), Fl H0 H1; +symbol let__o0 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + Π (H0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (or A B) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + λ (H0 : cupicef.Term cupicef.prop C), + Hr (or__intror A C H0); +symbol let__n0 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + Π (H0 : cupicef.Term cupicef.prop C), + Π (H1 : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + λ (H0 : cupicef.Term cupicef.prop C), + λ (H1 : cupicef.Term cupicef.prop A), Fr H0 H1; +opaque symbol or__cancel__l + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + __ : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + __0 : Π (__0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + cupicef.Term cupicef.prop + (iff (iff (or A B) (or A C)) (iff B C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff (or A B) (or A C)) + (λ + (__ : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff B C) + (λ (__ : cupicef.Term cupicef.prop (iff B C)), + iff (or A B) (or A C))) + (λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or A B) + (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or A C) + (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (or A B) + (λ (__ : cupicef.Term cupicef.prop (or A B)), + or A C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (or A C) + (λ (__ : cupicef.Term cupicef.prop (or A C)), + or A B))) + ), iff B C) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), + cupicef.Term cupicef.prop (or A C) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), + cupicef.Term cupicef.prop (or A B) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ (H0 : cupicef.Term cupicef.prop B), + match____or cupicef.prop A C + (λ (__ : cupicef.Term cupicef.prop (or A C)), C) + (λ (H1 : cupicef.Term cupicef.prop A), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), C) + (let__n A B C Fl Fr H Hl Hr H0 H1)) + (λ (H1 : cupicef.Term cupicef.prop C), H1) + (let__o A B C Fl Fr H Hl Hr H0)) + (λ (H0 : cupicef.Term cupicef.prop C), + match____or cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (or A B)), B) + (λ (H1 : cupicef.Term cupicef.prop A), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), B) + (let__n0 A B C Fl Fr H Hl Hr H0 H1)) + (λ (H1 : cupicef.Term cupicef.prop B), H1) + (let__o0 A B C Fl Fr H Hl Hr H0))) + H) + (or__iff__compat__l A B C); +symbol let__o1 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + Π (H0 : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (or C A) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + λ (H0 : cupicef.Term cupicef.prop B), + Hl (or__introl B A H0); +symbol let__n1 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + Π (H0 : cupicef.Term cupicef.prop B), + Π (H1 : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + λ (H0 : cupicef.Term cupicef.prop B), + λ (H1 : cupicef.Term cupicef.prop A), Fl H0 H1; +symbol let__o2 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + Π (H0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (or B A) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + λ (H0 : cupicef.Term cupicef.prop C), + Hr (or__introl C A H0); +symbol let__n2 + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + Π + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + Π + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + Π (H0 : cupicef.Term cupicef.prop C), + Π (H1 : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + λ (H0 : cupicef.Term cupicef.prop C), + λ (H1 : cupicef.Term cupicef.prop A), Fr H0 H1; +opaque symbol or__cancel__r + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π + ( + __ : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + Π + ( + __0 : Π (__0 : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + cupicef.Term cupicef.prop + (iff (iff (or B A) (or C A)) (iff B C)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ + ( + Fl : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (not A) + ), + λ + ( + Fr : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop (not A) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff (or B A) (or C A)) + (λ + (__ : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + iff B C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff B C) + (λ (__ : cupicef.Term cupicef.prop (iff B C)), + iff (or B A) (or C A))) + (λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or B A) + (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or C A) + (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (or B A) + (λ (__ : cupicef.Term cupicef.prop (or B A)), + or C A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (or C A) + (λ (__ : cupicef.Term cupicef.prop (or C A)), + or B A))) + ), iff B C) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), + cupicef.Term cupicef.prop (or C A) + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), + cupicef.Term cupicef.prop (or B A) + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (λ (H0 : cupicef.Term cupicef.prop B), + match____or cupicef.prop C A + (λ (__ : cupicef.Term cupicef.prop (or C A)), C) + (λ (H1 : cupicef.Term cupicef.prop C), H1) + (λ (H1 : cupicef.Term cupicef.prop A), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), C) + (let__n1 A B C Fl Fr H Hl Hr H0 H1)) + (let__o1 A B C Fl Fr H Hl Hr H0)) + (λ (H0 : cupicef.Term cupicef.prop C), + match____or cupicef.prop B A + (λ (__ : cupicef.Term cupicef.prop (or B A)), B) + (λ (H1 : cupicef.Term cupicef.prop B), H1) + (λ (H1 : cupicef.Term cupicef.prop A), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), B) + (let__n2 A B C Fl Fr H Hl Hr H0 H1)) + (let__o2 A B C Fl Fr H Hl Hr H0))) + H) + (or__iff__compat__r A B C); +opaque symbol or__comm + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop (iff (or A B) (or B A)) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (or A B) + (λ (__ : cupicef.Term cupicef.prop (or A B)), or B A)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (or B A) + (λ (__ : cupicef.Term cupicef.prop (or B A)), or A B)) + (λ (H : cupicef.Term cupicef.prop (or A B)), + match____or cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (or A B)), or B A) + (λ (H0 : cupicef.Term cupicef.prop A), or__intror B A H0) + (λ (H0 : cupicef.Term cupicef.prop B), or__introl B A H0) H) + (λ (H : cupicef.Term cupicef.prop (or B A)), + match____or cupicef.prop B A + (λ (__ : cupicef.Term cupicef.prop (or B A)), or A B) + (λ (H0 : cupicef.Term cupicef.prop B), or__intror A B H0) + (λ (H0 : cupicef.Term cupicef.prop A), or__introl A B H0) H); +opaque symbol or__assoc + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop (iff (or (or A B) C) (or A (or B C))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or (or A B) C) + (λ (__ : cupicef.Term cupicef.prop (or (or A B) C)), + or A (or B C))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (or A (or B C)) + (λ (__ : cupicef.Term cupicef.prop (or A (or B C))), + or (or A B) C)) + (λ (H : cupicef.Term cupicef.prop (or (or A B) C)), + match____or cupicef.prop (or A B) C + (λ (__ : cupicef.Term cupicef.prop (or (or A B) C)), + or A (or B C)) + (λ (H0 : cupicef.Term cupicef.prop (or A B)), + match____or cupicef.prop A B + (λ (__ : cupicef.Term cupicef.prop (or A B)), + or A (or B C)) + (λ (H1 : cupicef.Term cupicef.prop A), + or__introl A (or B C) H1) + (λ (H1 : cupicef.Term cupicef.prop B), + or__intror A (or B C) (or__introl B C H1)) + H0) + (λ (H0 : cupicef.Term cupicef.prop C), + or__intror A (or B C) (or__intror B C H0)) + H) + (λ (H : cupicef.Term cupicef.prop (or A (or B C))), + match____or cupicef.prop A (or B C) + (λ (__ : cupicef.Term cupicef.prop (or A (or B C))), + or (or A B) C) + (λ (H0 : cupicef.Term cupicef.prop A), + or__introl (or A B) C (or__introl A B H0)) + (λ (H0 : cupicef.Term cupicef.prop (or B C)), + match____or cupicef.prop B C + (λ (__ : cupicef.Term cupicef.prop (or B C)), + or (or A B) C) + (λ (H1 : cupicef.Term cupicef.prop B), + or__introl (or A B) C (or__intror A B H1)) + (λ (H1 : cupicef.Term cupicef.prop C), + or__intror (or A B) C H1) + H0) + H); +opaque symbol iff__and + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff A B)), + cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff A B)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__ : cupicef.Term cupicef.prop B), A))) + ), + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A))) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + H1 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + H0 H1) + H; +opaque symbol iff__to__and + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + cupicef.Term cupicef.prop + (iff (iff A B) + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)))) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (iff A B) + (λ (__ : cupicef.Term cupicef.prop (iff A B)), + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A))) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A))) + ), iff A B)) + (λ (H : cupicef.Term cupicef.prop (iff A B)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__ : cupicef.Term cupicef.prop B), A))) + ), + and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__0 : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__0 : cupicef.Term cupicef.prop B), A))) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ (H0 : cupicef.Term cupicef.prop A), Hl H0) + (λ (H0 : cupicef.Term cupicef.prop B), Hr H0)) + H) + (λ + ( + H : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A))) + ), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + B (λ (__ : cupicef.Term cupicef.prop B), A))) + ), iff A B) + (λ + ( + Hl : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + Hr : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ (H0 : cupicef.Term cupicef.prop A), Hl H0) + (λ (H0 : cupicef.Term cupicef.prop B), Hr H0)) + H); +symbol IF__then__else + : Π (P : cupicef.Univ cupicef.prop), + Π (Q : cupicef.Univ cupicef.prop), + Π (R : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop + ≔ λ (P : cupicef.Univ cupicef.prop), + λ (Q : cupicef.Univ cupicef.prop), + λ (R : cupicef.Univ cupicef.prop), or (and P Q) (and (not P) R); +symbol ex + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), cupicef.Univ cupicef.prop; +symbol ex__intro + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (ex A P); +rule cupicef.code_guarded? _ (ex__intro _ _ _ _) ↪ cupicef.guarded; +symbol match____ex + : Π (s : cupicef.Sort), + Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (P0 : cupicef.Term cupicef.prop (ex A P) → cupicef.Univ s), + Π + ( + case__ex__intro : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x0)), + cupicef.Term s (P0 (ex__intro A P x0 __)) + ), + Π (x : cupicef.Term cupicef.prop (ex A P)), + cupicef.Term s (P0 x); +rule match____ex $s $A $P $P0 $case__ex__intro (ex__intro $A $P $x0 $__) ↪ +$case__ex__intro $x0 $__; +rule match____ex $s $A $P + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P0.[x])) ↪ +match____ex $s' $A $P (λ x, $P0.[x]); +symbol ex__ind + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (P0 : cupicef.Univ cupicef.prop), + Π + ( + f : Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop P0 + ), + Π (e : cupicef.Term cupicef.prop (ex A P)), + cupicef.Term cupicef.prop P0 + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ (P0 : cupicef.Univ cupicef.prop), + λ + ( + f : Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop P0 + ), + λ (e : cupicef.Term cupicef.prop (ex A P)), + match____ex cupicef.prop A P + (λ (__ : cupicef.Term cupicef.prop (ex A P)), P0) f e; +symbol ex2 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), cupicef.Univ cupicef.prop; +symbol ex__intro2 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (__ : cupicef.Term cupicef.prop (P x)), + Π (__0 : cupicef.Term cupicef.prop (Q x)), + cupicef.Term cupicef.prop (ex2 A P Q); +rule cupicef.code_guarded? _ (ex__intro2 _ _ _ _ _ _) ↪ cupicef.guarded; +symbol match____ex2 + : Π (s : cupicef.Sort), + Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + Π + (P0 : cupicef.Term cupicef.prop (ex2 A P Q) → cupicef.Univ s), + Π + ( + case__ex__intro2 : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__ : cupicef.Term cupicef.prop (P x0) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (Q x0) + ), + cupicef.Term s + (P0 (ex__intro2 A P Q x0 __ __0)) + ), + Π (x : cupicef.Term cupicef.prop (ex2 A P Q)), + cupicef.Term s (P0 x); +rule match____ex2 $s $A $P $Q $P0 $case__ex__intro2 + (ex__intro2 $A $P $Q $x0 $__ $__0) ↪ $case__ex__intro2 $x0 $__ $__0; +rule match____ex2 $s $A $P $Q + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P0.[x])) ↪ +match____ex2 $s' $A $P $Q (λ x, $P0.[x]); +symbol ex2__ind + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (P0 : cupicef.Univ cupicef.prop), + Π + ( + f : Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + Π (__0 : cupicef.Term cupicef.prop (Q x)), + cupicef.Term cupicef.prop P0 + ), + Π (e : cupicef.Term cupicef.prop (ex2 A P Q)), + cupicef.Term cupicef.prop P0 + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + Q : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + λ (P0 : cupicef.Univ cupicef.prop), + λ + ( + f : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + Π (__0 : cupicef.Term cupicef.prop (Q x)), + cupicef.Term cupicef.prop P0 + ), + λ (e : cupicef.Term cupicef.prop (ex2 A P Q)), + match____ex2 cupicef.prop A P Q + (λ (__ : cupicef.Term cupicef.prop (ex2 A P Q)), P0) f e; +symbol all + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x); +opaque symbol inst + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + __ : cupicef.Term cupicef.prop + (all A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)) + ), cupicef.Term cupicef.prop (P x) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.cast + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.prop)) + cupicef.I A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.prod + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I A + (λ + ( + x0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x0)) + (λ + ( + H : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term cupicef.prop (P x0) + ), P x))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (all A + (λ + ( + x0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x0)) + (λ + ( + __ : cupicef.Term cupicef.prop + (all A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)) + ), P x))) + cupicef.I + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term cupicef.prop (P x0) + ), H x); +opaque symbol gen + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (B : cupicef.Univ cupicef.prop), + Π + ( + f : Π + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (P y) + ), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (all A P) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.cast + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop)))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (λ (B : cupicef.Univ cupicef.prop), + cupicef.prod + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop))) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), P y))) + (λ + ( + f : Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (P y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop)) + cupicef.I B + (λ (H : cupicef.Term cupicef.prop B), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (λ (B : cupicef.Univ cupicef.prop), + cupicef.prod + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), P y))) + (λ + ( + f : Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (P y) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), all A P)))) + cupicef.I + (λ (B : cupicef.Univ cupicef.prop), + λ + ( + f : Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop (P y) + ), + λ (H : cupicef.Term cupicef.prop B), + λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), f x H); +symbol eq + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ cupicef.prop; +symbol eq__refl + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), cupicef.Term cupicef.prop (eq A x x); +rule cupicef.code_guarded? _ (eq__refl _ _) ↪ cupicef.guarded; +symbol match____eq + : Π (s : cupicef.Sort), + Π + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Term cupicef.prop (eq A x __) → cupicef.Univ s + ), + Π (case__eq__refl : cupicef.Term s (P x (eq__refl A x))), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (x0 : cupicef.Term cupicef.prop (eq A x __)), + cupicef.Term s (P __ x0); +rule match____eq $s $A $x $P $case__eq__refl $x (eq__refl $A $x) ↪ $case__eq__refl; +rule match____eq $s $A $x + (λ __, + λ x, + cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[__; x])) ↪ +match____eq $s' $A $x (λ __, λ x, $P.[__; x]); +symbol eq__rect + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π + (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x)), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (e : cupicef.Term cupicef.prop (eq A x y)), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P y) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ + ( + f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) + ), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (e : cupicef.Term cupicef.prop (eq A x y)), + match____eq (cupicef.{|type|} (cupicef.s cupicef.z)) A x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), λ (__ : cupicef.Term cupicef.prop (eq A x y0)), P y0) + f y e; +symbol eq__ind + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ cupicef.prop + ), + Π (f : cupicef.Term cupicef.prop (P x)), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (e : cupicef.Term cupicef.prop (eq A x y)), + cupicef.Term cupicef.prop (P y) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ cupicef.prop + ), + λ (f : cupicef.Term cupicef.prop (P x)), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (e : cupicef.Term cupicef.prop (eq A x y)), + match____eq cupicef.prop A x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), λ (__ : cupicef.Term cupicef.prop (eq A x y0)), P y0) + f y e; +symbol eq__rec + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ cupicef.set + ), + Π (f : cupicef.Term cupicef.set (P x)), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (e : cupicef.Term cupicef.prop (eq A x y)), + cupicef.Term cupicef.set (P y) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + P : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), cupicef.Univ cupicef.set + ), + eq__rect A x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + cupicef.univ cupicef.set + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P); +symbol let__f + : Π (A : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (h1 : cupicef.Term cupicef.prop A), + Π + ( + h2 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), cupicef.Term cupicef.prop False + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (h1 : cupicef.Term cupicef.prop A), + λ + ( + h2 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), h2 h1; +opaque symbol absurd + : Π (A : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop A), + Π (__0 : cupicef.Term cupicef.prop (not A)), + cupicef.Term cupicef.prop C + ≔ cupicef.cast + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop)))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (λ (A : cupicef.Univ cupicef.prop), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (λ (C : cupicef.Univ cupicef.prop), + cupicef.prod cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop)) + cupicef.I A + (λ (h1 : cupicef.Term cupicef.prop A), + cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), False)) + (λ + ( + h2 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), C))))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (λ (A : cupicef.Univ cupicef.prop), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (λ (C : cupicef.Univ cupicef.prop), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (not A) (λ (__0 : cupicef.Term cupicef.prop (not A)), C))))) + cupicef.I + (λ (A : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (h1 : cupicef.Term cupicef.prop A), + λ + ( + h2 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop False + ), + match____False cupicef.prop + (λ (__ : cupicef.Term cupicef.prop False), C) + (let__f A C h1 h2)); +symbol eq__sym + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (__ : cupicef.Term cupicef.prop (eq A x y)), + cupicef.Term cupicef.prop (eq A y x) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (H : cupicef.Term cupicef.prop (eq A x y)), + match____eq cupicef.prop A x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (__ : cupicef.Term cupicef.prop (eq A x y0)), eq A y0 x) + (eq__refl A x) y H; +symbol eq__trans + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π + ( + z : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (__ : cupicef.Term cupicef.prop (eq A x y)), + Π (__0 : cupicef.Term cupicef.prop (eq A y z)), + cupicef.Term cupicef.prop (eq A x z) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + z : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (H : cupicef.Term cupicef.prop (eq A x y)), + λ (H0 : cupicef.Term cupicef.prop (eq A y z)), + match____eq cupicef.prop A y + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + λ (__ : cupicef.Term cupicef.prop (eq A y y0)), + eq A x y0) + H z H0; +symbol f__equal + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + B : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) B + ), + Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (__ : cupicef.Term cupicef.prop (eq A x y)), + cupicef.Term cupicef.prop (eq B (f x) (f y)) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + B : cupicef.Univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) B + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ (H : cupicef.Term cupicef.prop (eq A x y)), + match____eq cupicef.prop A x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + λ (__ : cupicef.Term cupicef.prop (eq A x y0)), + eq B (f x) (f y0)) + (eq__refl B (f x)) y H; +opaque symbol not__eq__sym + : Π + (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), + Π + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + Π + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + Π (__ : cupicef.Term cupicef.prop (not (eq A x y))), + cupicef.Term cupicef.prop (not (eq A y x)) + ≔ λ + ( + A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + ), + λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A + ), + cupicef.cast + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I (not (eq A x y)) + (λ (h1 : cupicef.Term cupicef.prop (not (eq A x y))), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (eq A y x) + (λ (h2 : cupicef.Term cupicef.prop (eq A y x)), False))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (not (eq A x y)) + (λ (__ : cupicef.Term cupicef.prop (not (eq A x y))), + not (eq A y x))) + cupicef.I + (λ (h1 : cupicef.Term cupicef.prop (not (eq A x y))), + λ (h2 : cupicef.Term cupicef.prop (eq A y x)), + h1 + (match____eq cupicef.prop A y + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + A + ), + λ (__ : cupicef.Term cupicef.prop (eq A y y0)), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (not (eq A y0 y)) + (λ + (h3 : cupicef.Term cupicef.prop (not (eq A y0 y))), + eq A y0 y)) + (λ (h3 : cupicef.Term cupicef.prop (not (eq A y y))), + eq__refl A y) + x h2 h1)); +symbol eq__ind__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), cupicef.Term cupicef.prop (P y) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + P : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + λ (H : cupicef.Term cupicef.prop (P x)), + λ + (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), + eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P y0) + H y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0); +symbol eq__rec__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.set + ), + Π (__ : cupicef.Term cupicef.set (P x)), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), cupicef.Term cupicef.set (P y) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + P : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.set + ), + λ (H : cupicef.Term cupicef.set (P x)), + λ + (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), + eq__rec + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P y0) + H y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0); +symbol eq__rect__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) + ), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P y) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + P : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ + ( + H : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) + ), + λ + (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x) + ), + eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P y0) + H y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x H0); +symbol rew__opp__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y)) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P (eq__rect__r A y P a x H) y H) + a) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + λ + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I (P y0) + (λ + ( + a0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y0)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P (eq__rect__r A y0 P a0 x e) y0 e) + a0)) + (λ + ( + a0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) + ), + eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + a0) + y H a; +symbol rew__opp__l + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect__r A y P + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P a y H) + x H) + a) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + λ + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect__r A y0 P + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P a y0 e) + x e) + a) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + a) + y H; +opaque symbol f__equal2 + : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + (x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1), + Π + ( + y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + x2 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A2 + ), + Π + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f y1 y2)) + ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ + ( + x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + λ + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f y y2))) + (λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2) (f x1 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2)) + y2 H0) + y1 H; +opaque symbol f__equal3 + : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + B + ), + Π + ( + x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + Π + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + Π + ( + __1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f y1 y2 y3)) + ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ + ( + x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + λ + ( + y1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + λ + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f y y2 y3)))) + (λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A2 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f x1 y y3))) + (λ + ( + H1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A3 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3) (f x1 x2 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3)) + y3 H1) + y2 H0) + y1 H; +opaque symbol f__equal4 + : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + __2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A4 + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + ( + x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A1 + ), + Π + ( + y1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + x4 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + Π + ( + y4 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + Π + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + Π + ( + __1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + Π + ( + __2 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) (f y1 y2 y3 y4)) + ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + __2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ + ( + x1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + y1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + λ + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A3 + ), + λ + ( + x4 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + λ + ( + y4 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A4 + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A1 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __2 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) + (f y y2 y3 y4))))) + (λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A2 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) + (f x1 y y3 y4)))) + (λ + ( + H1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A3 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) + (f x1 x2 y y4))) + (λ + ( + H2 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A4 + ), + λ + ( + __ : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4) + (f x1 x2 x3 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4)) + y4 H2) + y3 H1) + y2 H0) + y1 H; +opaque symbol f__equal5 + : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (A5 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + __2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + Π + ( + __3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A5 + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + ( + x1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + y1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A3 + ), + Π + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A3 + ), + Π + ( + x4 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + Π + ( + y4 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A4 + ), + Π + ( + x5 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A5 + ), + Π + ( + y5 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A5 + ), + Π + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + Π + ( + __1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + Π + ( + __2 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + Π + ( + __3 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f y1 y2 y3 y4 y5)) + ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + (A5 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + Π + ( + __1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A3 + ), + Π + ( + __2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A4 + ), + Π + ( + __3 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A5 + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ + ( + x1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + y1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A1 + ), + λ + ( + x2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + y2 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A2 + ), + λ + ( + x3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A3 + ), + λ + ( + y3 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A3 + ), + λ + ( + x4 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A4 + ), + λ + ( + y4 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A4 + ), + λ + ( + x5 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A5 + ), + λ + ( + y5 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A5 + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y1) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A1 + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A1) + x1 y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop cupicef.prop))) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop cupicef.prop)))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop cupicef.prop)) + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + cupicef.prod + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __2 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + cupicef.prod + cupicef.prop + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (λ + ( + __3 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z)) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z))) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I + A5) + x5 y5) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f y y2 y3 y4 y5)))))) + (λ + ( + H0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y2) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A2 + ), + λ + ( + __ : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A2) + x2 y) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop cupicef.prop)) + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop))) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + cupicef.prod + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + cupicef.prod + cupicef.prop + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (λ + ( + __2 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z)) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z))) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I + A5) + x5 y5) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f x1 y y3 y4 y5))))) + (λ + ( + H1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y3) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A3 + ), + λ + ( + __ : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A3) + x3 y) + ), + cupicef.prod + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + cupicef.prod + cupicef.prop + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (λ + ( + __1 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z)) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z))) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I + A5) + x5 y5) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f x1 x2 y y4 y5)))) + (λ + ( + H2 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y4) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + A4 + ), + λ + ( + __ : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A4) + x4 y) + ), + cupicef.prod + cupicef.prop + cupicef.prop + (cupicef.{|rule|} + cupicef.prop + cupicef.prop) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + (λ + ( + __0 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z)) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z))) + ( + cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I + A5) + x5 y5) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f x1 x2 x3 y y5))) + (λ + ( + H3 : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 y5) + ), + match____eq + cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A5) + x5 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + A5 + ), + λ + ( + __ : cupicef.Term + cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + ( + cupicef.s + cupicef.z)) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z))) + (cupicef.axiom + ( + cupicef.{|type|} + ( + cupicef.s + ( + cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I + A5) + x5 y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5) + (f x1 x2 x3 x4 y)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x1 x2 x3 x4 x5)) + y5 H3) + y4 H2) + y3 H1) + y2 H0) + y1 H; +symbol f__equal__compose + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (C : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (b : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + ( + g : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + C + ), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a b) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f b)))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + g (f a) (f b) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f a b e)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (λ + ( + a0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), g (f a0)) + a b e)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (C : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (b : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + B + ), + λ + ( + g : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) C + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a b) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f y)))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + g (f a) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f a y e0)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (λ + ( + a0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), g (f a0)) + a y e0)) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (g (f a)) (g (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I C) + (λ + ( + a0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), g (f a0)) + a a + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a))) + b e; +symbol eq__trans__refl__l + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e) + e) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0) + e0) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e; +symbol eq__trans__refl__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y e + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + e) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 y0 e0 + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0)) + e0) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e; +symbol eq__sym__involutive + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e)) + e) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)) + e0) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e; +symbol eq__trans__sym__inv__l + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y x y + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e) + e) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x y0 + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0) + e0) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0)) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e; +symbol eq__trans__sym__inv__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y x e + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 x e0 + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y e; +symbol eq__trans__assoc + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (t : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + Π + ( + e_27__27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z t) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x t)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y t e + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z t e_27_ e_27__27_)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z t + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + e_27__27_)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (t : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + λ + ( + e_27__27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z t) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y0) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y0 e + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z y0 e_27_ e0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z y0 + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + e0)) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z z + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z))) + t e_27__27_; +symbol let__e + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Hf a; +symbol let__a0 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + f a; +symbol let__e0 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Hf a; +symbol let__a1 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + f a; +symbol eq__id__comm__l + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (Hf a)) + (Hf (f a))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a)) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.cast cupicef.prop cupicef.prop + ((λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a)) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f y)) + e (f a) (Hf a)) + (Hf (f a))) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a))) + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (Hf a)) + (Hf (f a))) + cupicef.I + (eq__ind + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a))) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a (f a) (Hf a)) + (Hf a)) + (λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a)) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f y)) + e (f a) (Hf a)) + (Hf (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y (f y))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y e0) + (Hf a)) + y e0) + (Hf y)) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a + (λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a y)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a y + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + e0) + e0) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a a)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a)) + (f a) (let__e0 A f Hf a)) + (f a) (let__e A f Hf a)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a)) + (eq__trans__sym__inv__l A a (f a) (Hf a))); +symbol let__Hfsymf + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + (a0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + a0 (f a0)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (a0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a0) a0 (Hf a0); +symbol let__e1 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + (let__Hfsymf A f Hf a (f (f a)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + eq__id__comm__l A f (let__Hfsymf A f Hf a) (f a); +symbol let__e2 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + let__Hfsymf A f Hf a (f (f a)); +symbol let__e3 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + (let__Hfsymf A f Hf a (f a))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + eq__id__comm__l A f (let__Hfsymf A f Hf a) a; +symbol let__e4 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + let__Hfsymf A f Hf a (f a); +symbol let__e5 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Hf a; +symbol eq__id__comm__r + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + Hf : Π + (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) a (Hf a)) + (Hf (f a))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + Hf : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a) + ), + λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.cast cupicef.prop cupicef.prop + ((λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a))) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + e a (Hf a)) + (Hf (f a))) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)))) + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) a (Hf a)) + (Hf (f a))) + cupicef.I + (eq__ind + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)) (Hf (f (f a)))) + (Hf (f (f a)))) + (λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f a))) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + e a (Hf a)) + (Hf (f a))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + (λ + ( + y : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a)))) + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) + y) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) y (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (match____eq cupicef.prop + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + (λ + ( + y : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a))) + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f (f a)))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a)) + y) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) y) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) a (Hf a)))) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f a))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f y)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f a (f a) (let__Hfsymf A f Hf a a))) + (Hf (f (f a)))) + a (Hf a)) + (Hf (f a))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f y))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f y0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f y)) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f y) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f y (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) y e1))) + (Hf (f (f a)))) + y e1) + (Hf (f y))) + (cupicef.cast cupicef.prop cupicef.prop + ((λ + ( + e1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a))) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + e1 (Hf (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a)))) + (Hf (f (f a))))) + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f (f a)) (f (f a)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + f (f a) (f a) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a) (f a) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f a))))) + (Hf (f (f a)))) + (Hf (f (f a)))) + cupicef.I + (eq__ind__r + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (Hf (f (f a))) + (λ + ( + e1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a))) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + e1 (Hf (f (f a)))) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f a)))) + (Hf (f (f a)))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a))) (f (f (f a))) (f (f a)) + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f (f a)))) + (Hf (f (f a)))) + (eq__trans__refl__l A (f (f (f a))) (f (f a)) + (Hf (f (f a)))))) + a (let__e5 A f Hf a))) + (let__Hfsymf A f Hf a (f a)) (let__e3 A f Hf a)) + (let__Hfsymf A f Hf a (f (f a))) (let__e1 A f Hf a))) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (f (f a))) + (eq__trans__sym__inv__l A (f (f (f a))) (f (f a)) + (Hf (f (f a))))); +opaque symbol eq__refl__map__distr + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + f : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x x + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x)); +symbol eq__trans__map__distr + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f z))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x z + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f z) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y z e_27_))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + B + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y y0) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y0))) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y0 + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y y0 e e0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f y0) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y y0 e0))) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y))) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y y + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y)))) + z e_27_; +symbol eq__sym__map__distr + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y) (f x))) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y e)) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + f : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f y0) (f x))) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f y0) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x y0 e0)) + (f__equal + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0))) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + (f x) (f x))) + (f__equal + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I B) + f x x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + y e; +symbol eq__trans__sym__distr + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z x)) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y x + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z e_27_) + (eq__sym + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y e))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + (λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z x)) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 z e0 e_27_)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y0 x + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z e_27_) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0)))) + (λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x)) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0)) + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 x x + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 e0) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + (eq__refl + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x)) + (eq__trans + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x x + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + z e_27_) + y e; +opaque symbol eq__trans__rew__distr + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y z) + ), + Π + ( + k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P z)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k z + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y z e e_27_)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y P + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y e) + z e_27_)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop)) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + (λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 z) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I (P x) + (λ + ( + k : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P z)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k z + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0 z e0 e_27_)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + y0 P + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y0 e0) + z e_27_)))) + (λ + ( + e_27_ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop) + cupicef.I (P x) + (λ + ( + k : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P y0)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k y0 + (eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x y0 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x) + e0)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + y0 e0))) + (λ + ( + k : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), + eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P k x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x))) + z e_27_) + y e; +opaque symbol rew__const + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + (k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P) + k y e) + k) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + e0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) + cupicef.I P + (λ + ( + k : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) P + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P) + k y0 e0) + k)) + (λ + ( + k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + P + ), + eq__refl + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I P) + k) + y e; +symbol subrelation + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + R : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + B + ), cupicef.Univ cupicef.prop + ), + Π + ( + R_27_ : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), cupicef.Univ cupicef.prop + ), cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + R : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), cupicef.Univ cupicef.prop + ), + λ + ( + R_27_ : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), cupicef.Univ cupicef.prop + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I B + (λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + B + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (R x y) + (λ (__ : cupicef.Term cupicef.prop (R x y)), R_27_ x y))); +symbol unique + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + and (P x) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x_27_) + (λ (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))); +symbol uniqueness + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), cupicef.Univ cupicef.prop + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)))) + cupicef.I A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I A + (λ + (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I (P x) + (λ (__ : cupicef.Term cupicef.prop (P x)), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P y) + (λ (__0 : cupicef.Term cupicef.prop (P y)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y)))); +opaque symbol unique__existence + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (and + (ex A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x)) + (uniqueness A P)) + (ex A + (unique A + (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (and + (ex A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x)) + (uniqueness A P)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (uniqueness A P)) + ), + ex A + (unique A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)))) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (ex A + (unique A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + and + (ex A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (uniqueness A P))) + (λ + ( + H : cupicef.Term cupicef.prop + (and + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (uniqueness A P)) + ), + match____and cupicef.prop + (ex A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (uniqueness A P) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (uniqueness A P)) + ), + ex A + (unique A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x))) + (λ + ( + H0 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + ), + match____ex cupicef.prop A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (uniqueness A P) + (λ (__0 : cupicef.Term cupicef.prop (uniqueness A P)), + ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)))) + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ (Hx : cupicef.Term cupicef.prop (P x)), + λ (Huni : cupicef.Term cupicef.prop (uniqueness A P)), + ex__intro A + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)) + x + (cupicef.cast cupicef.prop cupicef.prop + (and (P x) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (λ (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + cupicef.I + (conj (P x) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (λ (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + Hx + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ (H1 : cupicef.Term cupicef.prop (P x_27_)), + Huni x x_27_ Hx H1)))) + H0) + H) + (λ + ( + H : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + match____ex cupicef.prop A + (unique A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + and + (ex A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x)) + (uniqueness A P)) + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + ), + match____and cupicef.prop + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x_27_) + (λ + ( + __ : cupicef.Term cupicef.prop + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), P x0) + x_27_) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (λ + ( + __ : cupicef.Term cupicef.prop + (and (P x) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (λ + (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) + ), + and + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)) + (uniqueness A P)) + (λ (Hx : cupicef.Term cupicef.prop (P x)), + λ + ( + Huni : Π + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__ : cupicef.Term cupicef.prop (P x_27_)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + ), + conj + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)) + (uniqueness A P) + (ex__intro A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x Hx) + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)))) + cupicef.prop + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)))) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I A + (λ + ( + x_27__27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I (P x_27_) + (λ + ( + Hx_27_ : cupicef.Term cupicef.prop + (P x_27_) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27__27_) + (λ + ( + Hx_27__27_ : cupicef.Term cupicef.prop + (P x_27__27_) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x_27_ x_27__27_))))) + (uniqueness A P) cupicef.I + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + x_27__27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + (Hx_27_ : cupicef.Term cupicef.prop (P x_27_)), + λ + ( + Hx_27__27_ : cupicef.Term cupicef.prop + (P x_27__27_) + ), + eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x_27_ x x_27__27_ + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_ (Huni x_27_ Hx_27_)) + (Huni x_27__27_ Hx_27__27_)))) + H0) + H); +symbol let__H + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + H : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x))) + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + H0 : cupicef.Term cupicef.prop + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + ), + Π (Hp : cupicef.Term cupicef.prop (P x)), + Π + ( + Huniq : Π + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x_27_)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + ), + Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π + ( + H1 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + (H2 : cupicef.Term cupicef.prop (and (P x0) (Q x0)) + ), + Π (HPx0 : cupicef.Term cupicef.prop (P x0)), + Π (HQx0 : cupicef.Term cupicef.prop (Q x0)), + Π + ( + x1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (HPx1 : cupicef.Term cupicef.prop (P x1)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 x1) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + ), + λ (Hp : cupicef.Term cupicef.prop (P x)), + λ + ( + Huniq : Π + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x_27_)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + ), + λ + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H1 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0))) + ), + λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + H2 : cupicef.Term cupicef.prop + (and (P x0) (Q x0)) + ), + λ (HPx0 : cupicef.Term cupicef.prop (P x0)), + λ (HQx0 : cupicef.Term cupicef.prop (Q x0)), + λ + ( + x1 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + (HPx1 : cupicef.Term cupicef.prop (P x1)), + eq__trans + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 x x1 + (eq__sym + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0 (Huniq x0 HPx0)) + (Huniq x1 HPx1); +opaque symbol forall__exists__unique__domain__coincide + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x))) + ), + Π + ( + Q : Π + ( + __0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( + P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + match____ex cupicef.prop A + (unique A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x)) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x))) + ), + cupicef.prod + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) + (λ + ( + Q : Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x))))) + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H0 : cupicef.Term cupicef.prop + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + ), + match____and cupicef.prop + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0) + x_27_) + (λ + ( + __ : cupicef.Term cupicef.prop + ((λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x0) + x_27_) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (λ + ( + __ : cupicef.Term cupicef.prop + (and (P x) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (λ (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_)))) + ), + cupicef.prod + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) + (λ + ( + Q : Π + ( + __0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ (__0 : cupicef.Term cupicef.prop (P x0)), Q x0))) + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x0) (Q x0))))) + (λ (Hp : cupicef.Term cupicef.prop (P x)), + λ + ( + Huniq : Π + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__ : cupicef.Term cupicef.prop (P x_27_)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + ), + λ + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + conj + (cupicef.prod + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ (__ : cupicef.Term cupicef.prop (P x0)), + Q x0))) + (λ + ( + __ : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__ : cupicef.Term cupicef.prop (P x0)), + cupicef.Term cupicef.prop (Q x0) + ), + ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0)))) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x0) (Q x0))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ (__0 : cupicef.Term cupicef.prop (P x0)), + Q x0)))) + (λ + ( + H1 : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x0)), + cupicef.Term cupicef.prop (Q x0) + ), + ex__intro A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x0) (Q x0)) + x (conj (P x) (Q x) Hp (H1 x Hp))) + (λ + ( + H1 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0))) + ), + match____ex cupicef.prop A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x0) (Q x0)) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (Q x0))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ + (__0 : cupicef.Term cupicef.prop (P x0)), + Q x0))) + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + H2 : cupicef.Term cupicef.prop + (and (P x0) (Q x0)) + ), + match____and cupicef.prop (P x0) (Q x0) + (λ + ( + __ : cupicef.Term cupicef.prop + (and (P x0) (Q x0)) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I A + (λ + ( + x1 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P x1) + (λ + ( + __0 : cupicef.Term cupicef.prop + (P x1) + ), Q x1))) + (λ + (HPx0 : cupicef.Term cupicef.prop (P x0)), + λ + (HQx0 : cupicef.Term cupicef.prop (Q x0) + ), + λ + ( + x1 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + HPx1 : cupicef.Term cupicef.prop + (P x1) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x0 y) + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P y) + (λ + ( + HPx2 : cupicef.Term + cupicef.prop ( + P y) + ), Q y)) + (λ + ( + HPx2 : cupicef.Term cupicef.prop + (P x0) + ), HQx0) + x1 + (let__H A P H x H0 Hp Huniq Q H1 x0 + H2 HPx0 HQx0 x1 HPx1) + HPx1) + H2) + H1)) + H0) + H; +symbol let__i + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + H : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( + P x) (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) + (ex A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + and (P x) (P x)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), H P; +symbol let__i0 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + H : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), + Π + ( + H0 : Π + ( + __ : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + ), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), + Π (Hx : cupicef.Term cupicef.prop (P x)), + Π (__tmp : cupicef.Term cupicef.prop (P x)), + Π + ( + __tmp0 : Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (P x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__0 : cupicef.Term cupicef.prop (P x0)), + cupicef.Term cupicef.prop (P x0) + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ (__ : cupicef.Term cupicef.prop (P x0)), + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + and (P x0) + ((λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), + λ + ( + H0 : Π + ( + __ : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + ), + λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), + λ (Hx : cupicef.Term cupicef.prop (P x)), + λ (__tmp : cupicef.Term cupicef.prop (P x)), + λ + ( + __tmp0 : Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (P x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __0 : cupicef.Term cupicef.prop (P x0) + ), cupicef.Term cupicef.prop (P x0) + ), + H + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_); +opaque symbol forall__exists__coincide__unique__domain + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + __ : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), + cupicef.Term cupicef.prop + (ex A + (unique A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x))) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : Π + ( + Q : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + cupicef.Term cupicef.prop + (iff + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (Q x)))) + ), + match____and cupicef.prop + (cupicef.prod + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( + P x) (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) + (λ + ( + __ : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + ex A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x) (P x)))) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), P x)))) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x) + (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) + (λ + ( + __ : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x)))) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x) (P x))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x) + (λ (__0 : cupicef.Term cupicef.prop (P x)), P x))))) + ), + ex A + (unique A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x))) + (λ + ( + H0 : Π + ( + __ : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__ : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + ), + match____ex cupicef.prop A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x)) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + ), + cupicef.prod + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x) (P x))) + (λ + ( + __0 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), and (P x) (P x))) + ), + cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x) + (λ (__1 : cupicef.Term cupicef.prop (P x)), P x)))) + (λ + ( + __0 : Π + ( + __0 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x) (P x))) + ), + Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (__1 : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop (P x) + ), + ex A + (unique A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)))) + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), + match____and cupicef.prop (P x) (P x) + (λ (__ : cupicef.Term cupicef.prop (and (P x) (P x))), + cupicef.prod + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.prop) + cupicef.I + (cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), and (P x0) (P x0))) + (λ + ( + __0 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (P x0))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ (__1 : cupicef.Term cupicef.prop (P x0)), + P x0)))) + (λ + ( + __0 : Π + ( + __0 : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (P x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + (__1 : cupicef.Term cupicef.prop (P x0) + ), cupicef.Term cupicef.prop (P x0) + ), + ex A + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x0)))) + (λ (Hx : cupicef.Term cupicef.prop (P x)), + λ (__tmp : cupicef.Term cupicef.prop (P x)), + λ + ( + __tmp0 : Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), and (P x0) (P x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (P x0) + ), cupicef.Term cupicef.prop (P x0) + ), + ex__intro A + (unique A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x0)) + x + (conj (P x) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x_27_) + (λ + (__ : cupicef.Term cupicef.prop (P x_27_)), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + Hx + (match____and cupicef.prop + (cupicef.prod + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I (P x0) + (λ + (__ : cupicef.Term cupicef.prop (P x0)), + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (λ + ( + __ : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term cupicef.prop + (P x0) + ), + cupicef.Term cupicef.prop + ((λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0) + ), + ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + ((λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + ((λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + ((λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P x0) + (λ + ( + __0 : cupicef.Term cupicef.prop (P x0) + ), + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_) + x0)))) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.prop + (cupicef.{|rule|} + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.prop) + cupicef.I + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P x0) + (λ + ( + __ : cupicef.Term cupicef.prop + (P x0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + (λ + ( + __ : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term + cupicef.prop ( + P x0) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0) + ), + ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)))) + (cupicef.prod cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + (cupicef.{|rule|} cupicef.prop + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop))) + cupicef.I + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + ), + cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop + cupicef.prop)) + cupicef.I A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop + cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P x0) + (λ + ( + __0 : cupicef.Term + cupicef.prop (P x0) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))))) + ), + cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} cupicef.prop cupicef.prop)) + cupicef.I A + (λ + ( + x_27_ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop + cupicef.prop) + cupicef.I (P x_27_) + (λ + ( + __0 : cupicef.Term cupicef.prop + (P x_27_) + ), + eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x_27_))) + (λ + ( + __tmp1 : Π + ( + __ : Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term + cupicef.prop ( + P x0) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0) + ), + cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + ), + λ + ( + Huniq : Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s + cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s + cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0))) + ), + Π + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + Π + ( + __0 : cupicef.Term + cupicef.prop (P x0) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0) + ), + Huniq + (ex__intro A + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + and (P x0) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x0)) + x + (conj (P x) + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x x) + Hx + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)))) + (let__i0 A P H H0 x H1 Hx __tmp __tmp0)))) + H1) + (H0 + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), λ (H1 : cupicef.Term cupicef.prop (P x)), H1))) + (let__i A P H); +symbol inhabited + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + cupicef.Univ cupicef.prop; +symbol inhabits + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Term cupicef.prop (inhabited A); +rule cupicef.code_guarded? _ (inhabits _ _) ↪ cupicef.guarded; +symbol match____inhabited + : Π (s : cupicef.Sort), + Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (P : cupicef.Term cupicef.prop (inhabited A) → cupicef.Univ s), + Π + ( + case__inhabits : Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Term s (P (inhabits A __)) + ), + Π (x : cupicef.Term cupicef.prop (inhabited A)), + cupicef.Term s (P x); +rule match____inhabited $s $A $P $case__inhabits (inhabits $A $__) ↪ +$case__inhabits $__; +rule match____inhabited $s $A + (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ +match____inhabited $s' $A (λ x, $P.[x]); +symbol inhabited__ind + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (P : cupicef.Univ cupicef.prop), + Π + ( + f : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term cupicef.prop P + ), + Π (i : cupicef.Term cupicef.prop (inhabited A)), + cupicef.Term cupicef.prop P + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (P : cupicef.Univ cupicef.prop), + λ + ( + f : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Term cupicef.prop P + ), + λ (i : cupicef.Term cupicef.prop (inhabited A)), + match____inhabited cupicef.prop A + (λ (__ : cupicef.Term cupicef.prop (inhabited A)), P) f i; +opaque symbol exists__inhabited + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x)) + ), cupicef.Term cupicef.prop (inhabited A) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + H : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), P x)) + ), + match____ex cupicef.prop A + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + P x) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex A + (λ + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), P x)) + ), inhabited A) + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (H0 : cupicef.Term cupicef.prop (P x)), inhabits A x) + H; +opaque symbol inhabited__covariant + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + __ : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + Π (__0 : cupicef.Term cupicef.prop (inhabited A)), + cupicef.Term cupicef.prop (inhabited B) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + f : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B + ), + λ (H : cupicef.Term cupicef.prop (inhabited A)), + match____inhabited cupicef.prop A + (λ (__ : cupicef.Term cupicef.prop (inhabited A)), inhabited B) + (λ + (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), inhabits B (f x)) + H; +opaque symbol eq__stepl + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + Π + ( + __0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z y) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + H1 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + λ + ( + H2 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x z) + ), + eq__ind + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + z0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + eq + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + z0 y) + H1 z H2; +opaque symbol iff__stepl + : Π (A : cupicef.Univ cupicef.prop), + Π (B : cupicef.Univ cupicef.prop), + Π (C : cupicef.Univ cupicef.prop), + Π (__ : cupicef.Term cupicef.prop (iff A B)), + Π (__0 : cupicef.Term cupicef.prop (iff A C)), + cupicef.Term cupicef.prop (iff C B) + ≔ λ (A : cupicef.Univ cupicef.prop), + λ (B : cupicef.Univ cupicef.prop), + λ (C : cupicef.Univ cupicef.prop), + λ (H : cupicef.Term cupicef.prop (iff A B)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), A))) + ), + cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + (iff A C) + (λ (__0 : cupicef.Term cupicef.prop (iff A C)), iff C B)) + (λ + ( + H0 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop B + ), + λ + ( + H1 : Π (__ : cupicef.Term cupicef.prop B), + cupicef.Term cupicef.prop A + ), + λ (H2 : cupicef.Term cupicef.prop (iff A C)), + match____and cupicef.prop + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + A (λ (__ : cupicef.Term cupicef.prop A), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I + C (λ (__ : cupicef.Term cupicef.prop C), A)) + (λ + ( + __ : cupicef.Term cupicef.prop + (and + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I A + (λ (__ : cupicef.Term cupicef.prop A), C)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), A))) + ), iff C B) + (λ + ( + H3 : Π (__ : cupicef.Term cupicef.prop A), + cupicef.Term cupicef.prop C + ), + λ + ( + H4 : Π (__ : cupicef.Term cupicef.prop C), + cupicef.Term cupicef.prop A + ), + conj + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I C + (λ (__ : cupicef.Term cupicef.prop C), B)) + (cupicef.prod cupicef.prop cupicef.prop + (cupicef.{|rule|} cupicef.prop cupicef.prop) + cupicef.I B + (λ (__ : cupicef.Term cupicef.prop B), C)) + (λ (H5 : cupicef.Term cupicef.prop C), + H0 (H1 (H0 (H4 H5)))) + (λ (H5 : cupicef.Term cupicef.prop B), H3 (H1 H5))) + H2) + H; +opaque symbol eq__ex__uncurried + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π + ( + pq : cupicef.Term cupicef.prop + (ex + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ + ( + pq : cupicef.Term cupicef.prop + (ex + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) + ), + match____ex cupicef.prop + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2)) + ), + eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + λ + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (λ (y : cupicef.Term cupicef.prop (P v1)), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 y)) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P v1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P v1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p))) + cupicef.I + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) + (ex__intro A P y + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e))) + (eq__refl + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + v1 p)) + v2 q) + pq; +symbol eq__ex + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + Π + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + λ + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + eq__ex__uncurried A P u1 v1 u2 v2 + (ex__intro + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p0) + v2) + p q); +symbol eq__ex__hprop + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + P__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (P x)), + Π (q : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q) + ), + Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex A P)) + (ex__intro A P u1 u2) (ex__intro A P v1 v2)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + P__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (P x)), + Π (q : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q) + ), + λ + (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq__ex A P u1 v1 u2 v2 p + (P__hprop v1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2); +opaque symbol rew__ex + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π + ( + Q : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) (P a) + ), cupicef.Univ cupicef.prop + ), + Π + ( + u : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) + ), Q x p)) + ), + Π + (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P y) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P y) + ), Q y p))) + (eq__rect + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + ex (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P a) + ), Q a p))) + u y H) + (match____ex cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p)) + ), + ex (P y) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P y) + ), Q y p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + ex__intro (P y) (Q y) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y H)) + u)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + P : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ + ( + Q : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P a) + ), cupicef.Univ cupicef.prop + ), + λ + ( + u : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p)) + ), + λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P y0) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), Q y0 p))) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + ex (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), Q a p))) + u y0 e) + (match____ex cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), Q x p)) + ), + ex (P y0) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), Q y0 p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + ex__intro (P y0) (Q y0) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y0 e)) + u)) + (match____ex cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + e : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p)) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p))) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + ex (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), Q a p))) + e x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (match____ex cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), Q x p)) + ), + ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + ex__intro (P x) (Q x) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + u2) + e)) + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), + λ (q : cupicef.Term cupicef.prop (Q x x0)), + eq__refl + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p))) + (ex__intro (P x) (Q x) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P x0 x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + q)) + u) + y H; +opaque symbol eq__ex2__uncurried + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π (u3 : cupicef.Term cupicef.prop (Q u1)), + Π (v3 : cupicef.Term cupicef.prop (Q v1)), + Π + ( + pq : cupicef.Term cupicef.prop + (ex2 + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 v2 v3)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + Q : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + λ + (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ (u3 : cupicef.Term cupicef.prop (Q u1)), + λ (v3 : cupicef.Term cupicef.prop (Q v1)), + λ + ( + pq : cupicef.Term cupicef.prop + (ex2 + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) + ), + match____ex2 cupicef.prop + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + (λ + ( + __ : cupicef.Term cupicef.prop + (ex2 + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3)) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 v2 v3)) + (λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + λ + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + λ + ( + r : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + (λ (y : cupicef.Term cupicef.prop (Q v1)), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + y) + ), + eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 v2 y)) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + (λ (y : cupicef.Term cupicef.prop (P v1)), + λ + ( + __ : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + y) + ), + eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 y + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __0 : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p))) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (λ + ( + y : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 y) + ), + eq + (cupicef.cast + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q y + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 y e) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 y e))) + (cupicef.cast cupicef.prop cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q u1 u2 u3)) + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q u1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 u1 + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1)))) + cupicef.I + (eq__refl + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3))) + v1 p) + v2 q) + v3 r) + pq; +symbol eq__ex2 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π (u3 : cupicef.Term cupicef.prop (Q u1)), + Π (v3 : cupicef.Term cupicef.prop (Q v1)), + Π + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + Π + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + Π + ( + r : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 v2 v3)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + Q : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + λ + (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ (u3 : cupicef.Term cupicef.prop (Q u1)), + λ (v3 : cupicef.Term cupicef.prop (Q v1)), + λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + λ + ( + q : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + ), + λ + ( + r : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3) + ), + eq__ex2__uncurried A P Q u1 v1 u2 v2 u3 v3 + (ex__intro2 + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + cupicef.I + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1)) + (λ + ( + p0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p0) + v2) + (λ + ( + p0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q v1)) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} + (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p0) + v3) + p q r); +symbol eq__ex2__hprop + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + cupicef.Univ cupicef.prop + ), + Π + ( + Q : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + Π + ( + P__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (P x)), + Π (q : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q) + ), + Π + ( + Q__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (Q x)), + Π (q : cupicef.Term cupicef.prop (Q x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q) + ), + Π + (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π (u2 : cupicef.Term cupicef.prop (P u1)), + Π (v2 : cupicef.Term cupicef.prop (P v1)), + Π (u3 : cupicef.Term cupicef.prop (Q u1)), + Π (v3 : cupicef.Term cupicef.prop (Q v1)), + Π + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (ex2 A P Q)) + (ex__intro2 A P Q u1 u2 u3) + (ex__intro2 A P Q v1 v2 v3)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ cupicef.prop + ), + λ + ( + Q : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ cupicef.prop + ), + λ + ( + P__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (P x)), + Π (q : cupicef.Term cupicef.prop (P x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (P x)) + p q) + ), + λ + ( + Q__hprop : Π + ( + x : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π (p : cupicef.Term cupicef.prop (Q x)), + Π (q : cupicef.Term cupicef.prop (Q x)), + cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I (Q x)) + p q) + ), + λ + ( + u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + v1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ (u2 : cupicef.Term cupicef.prop (P u1)), + λ (v2 : cupicef.Term cupicef.prop (P v1)), + λ (u3 : cupicef.Term cupicef.prop (Q u1)), + λ (v3 : cupicef.Term cupicef.prop (Q v1)), + λ + ( + p : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 v1) + ), + eq__ex2 A P Q u1 v1 u2 v2 u3 v3 p + (P__hprop v1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I P) + u2 v1 p) + v2) + (Q__hprop v1 + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + u1 + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I Q) + u3 v1 p) + v3); +opaque symbol rew__ex2 + : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + Π + ( + P : Π + (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + Π + ( + Q : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) (P a) + ), cupicef.Univ cupicef.prop + ), + Π + ( + R : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P a) + ), cupicef.Univ cupicef.prop + ), + Π + ( + u : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), R x p)) + ), + Π + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + cupicef.Term cupicef.prop + (eq + (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P y) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P y) + ), Q y p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P y) + ), R y p))) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) + (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + ex2 (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), Q a p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), R a p))) + u y H) + (match____ex2 cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), R x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p)) + ), + ex2 (P y) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y) + ), Q y p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y) + ), R y p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + λ (u3 : cupicef.Term cupicef.prop (R x u1)), + ex__intro2 (P y) (Q y) (R y) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y H) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + R a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u3 y H)) + u)) + ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), + λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), + λ + ( + P : Π + ( + __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) + ), + λ + ( + Q : Π + ( + a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P a) + ), cupicef.Univ cupicef.prop + ), + λ + ( + R : Π + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + Π + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P a) + ), cupicef.Univ cupicef.prop + ), + λ + ( + u : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), R x p)) + ), + λ + ( + y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + λ + ( + H : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y) + ), + match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + y0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + λ + ( + e : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x y0) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P y0) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), Q y0 p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), R y0 p))) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + ex2 (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P a) + ), Q a p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P a) + ), R a p))) + u y0 e) + (match____ex2 cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), R x p)) + ), + ex2 (P y0) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), Q y0 p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P y0) + ), R y0 p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + λ + (u3 : cupicef.Term cupicef.prop (R x u1)), + ex__intro2 (P y0) (Q y0) (R y0) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + Q a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u2 y0 e) + (match____eq cupicef.prop + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (λ + ( + a : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + A + ), + λ + ( + x0 : cupicef.Term cupicef.prop + (eq + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x a) + ), + R a + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s + (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 a x0)) + u3 y0 e)) + u)) + (match____ex2 cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), R x p) + (λ + ( + e : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p)) + ), + eq + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p))) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x + (cupicef.cast + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I A + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I)) + (cupicef.prod + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.{|rule|} + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z)))) + cupicef.I A + (λ + ( + __ : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + A + ), + cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I)) + cupicef.I + (λ + ( + a : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) A + ), + ex2 (P a) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), Q a p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P a) + ), R a p))) + e x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + (match____ex2 cupicef.prop (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p) + (λ + ( + u0 : cupicef.Term cupicef.prop + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), R x p)) + ), + ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), R x p)) + (λ + ( + u1 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) + (P x) + ), + λ (u2 : cupicef.Term cupicef.prop (Q x u1)), + λ (u3 : cupicef.Term cupicef.prop (R x u1)), + ex__intro2 (P x) (Q x) (R x) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P u1 x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + u2 u3) + e)) + (λ + ( + x0 : cupicef.Term + (cupicef.{|type|} (cupicef.s cupicef.z)) ( + P x) + ), + λ (q : cupicef.Term cupicef.prop (Q x x0)), + λ (r : cupicef.Term cupicef.prop (R x x0)), + eq__refl + (cupicef.cast + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ cupicef.prop + (cupicef.{|type|} (cupicef.s cupicef.z)) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I + (ex2 (P x) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), Q x p) + (λ + ( + p : cupicef.Term + (cupicef.{|type|} + (cupicef.s cupicef.z)) + (P x) + ), R x p))) + (ex__intro2 (P x) (Q x) (R x) + (eq__rect + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x P x0 x + (eq__refl + (cupicef.cast + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + (cupicef.univ + (cupicef.{|type|} (cupicef.s cupicef.z)) + (cupicef.axiom + (cupicef.{|type|} (cupicef.s cupicef.z))) + cupicef.I) + (cupicef.univ + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z))) + (cupicef.axiom + (cupicef.{|type|} + (cupicef.s (cupicef.s cupicef.z)))) + cupicef.I) + cupicef.I A) + x)) + q r)) + u) + y H; diff --git a/out/Makefile b/out/Makefile deleted file mode 100644 index 103ed004a..000000000 --- a/out/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: - dune exec lambdapi -- check --lib-root=. -c cupicef.lp - dune exec lambdapi -- check --lib-root=. -c Coq__Init__Logic.dk - dune exec lambdapi -- check --lib-root=. -c Coq__Init__Datatypes.dk \ No newline at end of file diff --git a/out/compile.sh b/out/compile.sh new file mode 100755 index 000000000..1c6eaca5c --- /dev/null +++ b/out/compile.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +set -x + +export PATH=$PWD/_build/install/default/bin:$PATH +cd out +lambdapi check --lib-root . -c coq/cupicef.lp +lambdapi check --lib-root . -c Coq__Init__Logic.lp +lambdapi check --lib-root . -c Coq__Init__Datatypes.dk \ No newline at end of file diff --git a/out/cupicef.lp b/out/coq/cupicef.lp similarity index 100% rename from out/cupicef.lp rename to out/coq/cupicef.lp diff --git a/out/lambdapi.pkg b/out/lambdapi.pkg deleted file mode 100644 index 64a65dab8..000000000 --- a/out/lambdapi.pkg +++ /dev/null @@ -1,2 +0,0 @@ -package_name = coq -root_path = coq From 2f8e741c9fc4c4aa9b779663d3e32d7dc19e487e Mon Sep 17 00:00:00 2001 From: Claudio Sacerdoti Coen Date: Fri, 27 Jan 2023 17:24:15 +0100 Subject: [PATCH 05/25] Generate lp files with requires automatically --- out/Coq__Arith__PeanoNat.dk | 0 out/Coq__Init__Datatypes.dk | 3 - out/Coq__Init__Logic.dk | 2 - out/Coq__Init__Logic.lp | 30148 ------------------ out/add_requires.sh | 3 + out/compile.sh | 27 +- out/{coq/cupicef.lp => cupicef.lp.handmade} | 23 +- out/header | 1 + out/lambdapi.pkg | 2 + 9 files changed, 43 insertions(+), 30166 deletions(-) create mode 100644 out/Coq__Arith__PeanoNat.dk delete mode 100644 out/Coq__Init__Logic.lp create mode 100755 out/add_requires.sh rename out/{coq/cupicef.lp => cupicef.lp.handmade} (94%) create mode 100644 out/header create mode 100644 out/lambdapi.pkg diff --git a/out/Coq__Arith__PeanoNat.dk b/out/Coq__Arith__PeanoNat.dk new file mode 100644 index 000000000..e69de29bb diff --git a/out/Coq__Init__Datatypes.dk b/out/Coq__Init__Datatypes.dk index 386b9d26f..9d3df8e57 100644 --- a/out/Coq__Init__Datatypes.dk +++ b/out/Coq__Init__Datatypes.dk @@ -1,9 +1,6 @@ (; This file was automatically generated by Coqine. ;) (; The encoding used was: "template_cic". ;) -#REQUIRE cupicef. -#REQUIRE Coq__Init__Logic. - def Empty__set : cupicef.Univ cupicef.set. diff --git a/out/Coq__Init__Logic.dk b/out/Coq__Init__Logic.dk index 35d8c288f..3887ebe72 100644 --- a/out/Coq__Init__Logic.dk +++ b/out/Coq__Init__Logic.dk @@ -1,8 +1,6 @@ (; This file was automatically generated by Coqine. ;) (; The encoding used was: "template_cic". ;) -#REQUIRE cupicef. - def True : cupicef.Univ cupicef.prop. diff --git a/out/Coq__Init__Logic.lp b/out/Coq__Init__Logic.lp deleted file mode 100644 index 18cd3f66e..000000000 --- a/out/Coq__Init__Logic.lp +++ /dev/null @@ -1,30148 +0,0 @@ -flag "eta_equality" on; -require coq.cupicef as cupicef; -symbol True : cupicef.Univ cupicef.prop; -symbol I : cupicef.Term cupicef.prop True; -rule cupicef.code_guarded? _ I ↪ cupicef.guarded; -symbol match____True - : Π (s : cupicef.Sort), - Π (P : cupicef.Term cupicef.prop True → cupicef.Univ s), - Π (case__I : cupicef.Term s (P I)), - Π (x : cupicef.Term cupicef.prop True), cupicef.Term s (P x); -rule match____True $s $P $case__I I ↪ $case__I; -rule match____True $s - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ -match____True $s' (λ x, $P.[x]); -symbol True__rect - : Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), - Π (t : cupicef.Term cupicef.prop True), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P - ≔ λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), - λ (t : cupicef.Term cupicef.prop True), - match____True (cupicef.{|type|} (cupicef.s cupicef.z)) - (λ (__ : cupicef.Term cupicef.prop True), P) f t; -symbol True__ind - : Π (P : cupicef.Univ cupicef.prop), - Π (f : cupicef.Term cupicef.prop P), - Π (t : cupicef.Term cupicef.prop True), cupicef.Term cupicef.prop P - ≔ λ (P : cupicef.Univ cupicef.prop), - λ (f : cupicef.Term cupicef.prop P), - λ (t : cupicef.Term cupicef.prop True), - match____True cupicef.prop - (λ (__ : cupicef.Term cupicef.prop True), P) f t; -symbol True__rec - : Π (P : cupicef.Univ cupicef.set), - Π (f : cupicef.Term cupicef.set P), - Π (t : cupicef.Term cupicef.prop True), cupicef.Term cupicef.set P - ≔ λ (P : cupicef.Univ cupicef.set), - True__rect - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) cupicef.I) - cupicef.I P); -symbol False : cupicef.Univ cupicef.prop; -symbol match____False - : Π (s : cupicef.Sort), - Π (P : cupicef.Term cupicef.prop False → cupicef.Univ s), - Π (x : cupicef.Term cupicef.prop False), cupicef.Term s (P x); -rule match____False $s - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ -match____False $s' (λ x, $P.[x]); -symbol False__rect - : Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (f : cupicef.Term cupicef.prop False), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P - ≔ λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (f : cupicef.Term cupicef.prop False), - match____False (cupicef.{|type|} (cupicef.s cupicef.z)) - (λ (__ : cupicef.Term cupicef.prop False), P) f; -symbol False__ind - : Π (P : cupicef.Univ cupicef.prop), - Π (f : cupicef.Term cupicef.prop False), cupicef.Term cupicef.prop P - ≔ λ (P : cupicef.Univ cupicef.prop), - λ (f : cupicef.Term cupicef.prop False), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), P) f; -symbol False__rec - : Π (P : cupicef.Univ cupicef.set), - Π (f : cupicef.Term cupicef.prop False), cupicef.Term cupicef.set P - ≔ λ (P : cupicef.Univ cupicef.set), - False__rect - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) cupicef.I) - cupicef.I P); -symbol not : Π (A : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ cupicef.prop), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False); -symbol and - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop; -symbol conj - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (and A B); -rule cupicef.code_guarded? _ (conj _ _ _ _) ↪ cupicef.guarded; -symbol match____and - : Π (s : cupicef.Sort), - Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Term cupicef.prop (and A B) → cupicef.Univ s), - Π - ( - case__conj : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term s (P (conj A B __ __0)) - ), - Π (x : cupicef.Term cupicef.prop (and A B)), - cupicef.Term s (P x); -rule match____and $s $A $B $P $case__conj (conj $A $B $__ $__0) ↪ $case__conj - $__ $__0; -rule match____and $s $A $B - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ -match____and $s' $A $B (λ x, $P.[x]); -symbol and__rect - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P - ), - Π (a : cupicef.Term cupicef.prop (and A B)), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P - ), - λ (a : cupicef.Term cupicef.prop (and A B)), - match____and (cupicef.{|type|} (cupicef.s cupicef.z)) A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), P) f a; -symbol and__ind - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Univ cupicef.prop), - Π - ( - f : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop P - ), - Π (a : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop P - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (P : cupicef.Univ cupicef.prop), - λ - ( - f : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop P - ), - λ (a : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), P) f a; -symbol and__rec - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Univ cupicef.set), - Π - ( - f : Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.set P - ), - Π (a : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.set P - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (P : cupicef.Univ cupicef.set), - and__rect A B - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I P); -opaque symbol proj1 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop A - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), A) - (λ (H0 : cupicef.Term cupicef.prop A), - λ (H1 : cupicef.Term cupicef.prop B), H0) - H; -opaque symbol proj2 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop B - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), B) - (λ (H0 : cupicef.Term cupicef.prop A), - λ (H1 : cupicef.Term cupicef.prop B), H1) - H; -symbol or - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop; -symbol or__introl - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop (or A B); -symbol or__intror - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (or A B); -rule cupicef.code_guarded? _ (or__introl _ _ _) ↪ cupicef.guarded; -rule cupicef.code_guarded? _ (or__intror _ _ _) ↪ cupicef.guarded; -symbol match____or - : Π (s : cupicef.Sort), - Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Term cupicef.prop (or A B) → cupicef.Univ s), - Π - ( - case__or__introl : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term s (P (or__introl A B __)) - ), - Π - ( - case__or__intror : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term s (P (or__intror A B __)) - ), - Π (x : cupicef.Term cupicef.prop (or A B)), - cupicef.Term s (P x); -rule match____or $s $A $B $P $case__or__introl $case__or__intror - (or__introl $A $B $__) ↪ $case__or__introl $__; -rule match____or $s $A $B $P $case__or__introl $case__or__intror - (or__intror $A $B $__) ↪ $case__or__intror $__; -rule match____or $s $A $B - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ -match____or $s' $A $B (λ x, $P.[x]); -symbol or__ind - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (P : cupicef.Univ cupicef.prop), - Π - ( - f : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop P - ), - Π - ( - f0 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop P - ), - Π (o : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop P - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (P : cupicef.Univ cupicef.prop), - λ - ( - f : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop P - ), - λ - ( - f0 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop P - ), - λ (o : cupicef.Term cupicef.prop (or A B)), - match____or cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (or A B)), P) f f0 o; -symbol iff - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)); -opaque symbol iff__refl - : Π (A : cupicef.Univ cupicef.prop), cupicef.Term cupicef.prop (iff A A) - ≔ λ (A : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), A)) - (λ (H : cupicef.Term cupicef.prop A), H) - (λ (H : cupicef.Term cupicef.prop A), H); -opaque symbol iff__trans - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff A B)), - Π (__0 : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop (iff A C) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff A B)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A))) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff B C) - (λ (__0 : cupicef.Term cupicef.prop (iff B C)), iff A C)) - (λ - ( - H1 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - H2 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ (H0 : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - C (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), iff A C) - (λ - ( - H3 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - H4 : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), A)) - (λ (H5 : cupicef.Term cupicef.prop A), H3 (H1 H5)) - (λ (H5 : cupicef.Term cupicef.prop C), - H2 (H1 (H2 (H4 H5))))) - H0) - H; -opaque symbol iff__sym - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff A B)), - cupicef.Term cupicef.prop (iff B A) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff A B)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__ : cupicef.Term cupicef.prop B), A))) - ), iff B A) - (λ - ( - H1 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - H2 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - H2 H1) - H; -opaque symbol and__iff__compat__l - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop (iff (and A B) (and A C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), iff (and A B) (and A C)) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and A B) - (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and A C) - (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B)) - (λ (H0 : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C) - (λ (H1 : cupicef.Term cupicef.prop A), - λ (H2 : cupicef.Term cupicef.prop B), - conj A C H1 (Hl H2)) - H0) - (λ (H0 : cupicef.Term cupicef.prop (and A C)), - match____and cupicef.prop A C - (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B) - (λ (H1 : cupicef.Term cupicef.prop A), - λ (H2 : cupicef.Term cupicef.prop C), - conj A B H1 (Hr H2)) - H0)) - H; -opaque symbol and__iff__compat__r - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop (iff (and B A) (and C A)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), iff (and B A) (and C A)) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and B A) - (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and C A) - (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A)) - (λ (H0 : cupicef.Term cupicef.prop (and B A)), - match____and cupicef.prop B A - (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A) - (λ (H1 : cupicef.Term cupicef.prop B), - λ (H2 : cupicef.Term cupicef.prop A), - conj C A (Hl H1) H2) - H0) - (λ (H0 : cupicef.Term cupicef.prop (and C A)), - match____and cupicef.prop C A - (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A) - (λ (H1 : cupicef.Term cupicef.prop C), - λ (H2 : cupicef.Term cupicef.prop A), - conj B A (Hr H1) H2) - H0)) - H; -opaque symbol or__iff__compat__l - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop (iff (or A B) (or A C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), iff (or A B) (or A C)) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or A B) - (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or A C) - (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B)) - (λ (H0 : cupicef.Term cupicef.prop (or A B)), - match____or cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C) - (λ (H1 : cupicef.Term cupicef.prop A), - or__introl A C H1) - (λ (H1 : cupicef.Term cupicef.prop B), - or__intror A C (Hl H1)) - H0) - (λ (H0 : cupicef.Term cupicef.prop (or A C)), - match____or cupicef.prop A C - (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B) - (λ (H1 : cupicef.Term cupicef.prop A), - or__introl A B H1) - (λ (H1 : cupicef.Term cupicef.prop C), - or__intror A B (Hr H1)) - H0)) - H; -opaque symbol or__iff__compat__r - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop (iff (or B A) (or C A)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), iff (or B A) (or C A)) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or B A) - (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or C A) - (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A)) - (λ (H0 : cupicef.Term cupicef.prop (or B A)), - match____or cupicef.prop B A - (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A) - (λ (H1 : cupicef.Term cupicef.prop B), - or__introl C A (Hl H1)) - (λ (H1 : cupicef.Term cupicef.prop A), - or__intror C A H1) - H0) - (λ (H0 : cupicef.Term cupicef.prop (or C A)), - match____or cupicef.prop C A - (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A) - (λ (H1 : cupicef.Term cupicef.prop C), - or__introl B A (Hr H1)) - (λ (H1 : cupicef.Term cupicef.prop A), - or__intror B A H1) - H0)) - H; -opaque symbol imp__iff__compat__l - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop - (iff - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), C))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), - iff - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), C))) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__0 : cupicef.Term cupicef.prop A), C))) - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), C)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop C - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__0 : cupicef.Term cupicef.prop A), B))) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), λ (H1 : cupicef.Term cupicef.prop A), Hl (H0 H1)) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop C - ), λ (H1 : cupicef.Term cupicef.prop A), Hr (H0 H1))) - H; -opaque symbol imp__iff__compat__r - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff B C)), - cupicef.Term cupicef.prop - (iff - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__0 : cupicef.Term cupicef.prop C), A))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff B C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B))) - ), - iff - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__0 : cupicef.Term cupicef.prop C), A))) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop C - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop B - ), - conj - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - C (λ (__0 : cupicef.Term cupicef.prop C), A))) - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), A)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__0 : cupicef.Term cupicef.prop B), A))) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), λ (H1 : cupicef.Term cupicef.prop C), H0 (Hr H1)) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), λ (H1 : cupicef.Term cupicef.prop B), H0 (Hl H1))) - H; -opaque symbol not__iff__compat - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff A B)), - cupicef.Term cupicef.prop (iff (not A) (not B)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff A B)), - imp__iff__compat__r False A B H; -opaque symbol neg__false - : Π (A : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop (iff (not A) (iff A False)) - ≔ λ (A : cupicef.Univ cupicef.prop), - cupicef.cast cupicef.prop cupicef.prop - (and - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), iff A False)) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I (iff A False) - (λ (__ : cupicef.Term cupicef.prop (iff A False)), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), False)))) - (iff (not A) (iff A False)) cupicef.I - (conj - (cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False)) - (λ - ( - __ : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), iff A False)) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I (iff A False) - (λ (__ : cupicef.Term cupicef.prop (iff A False)), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), False))) - (λ - ( - H : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I False - (λ (__ : cupicef.Term cupicef.prop False), A)) - H (λ (H1 : cupicef.Term cupicef.prop False), False__ind A H1)) - (λ (H0 : cupicef.Term cupicef.prop (iff A False)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I False - (λ (__ : cupicef.Term cupicef.prop False), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), False)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - False (λ (__ : cupicef.Term cupicef.prop False), A))) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), False)) - (λ - ( - H : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), - λ - ( - __tmp : Π (__ : cupicef.Term cupicef.prop False), - cupicef.Term cupicef.prop A - ), H) - H0)); -symbol let__H0 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - Π (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), - Π - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop (and A C) - ), - Π - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop (and A B) - ), - Π (H0 : cupicef.Term cupicef.prop B), - Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop C - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - λ (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), - λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop (and A C) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop (and A B) - ), - λ (H0 : cupicef.Term cupicef.prop B), - λ (__ : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A C - (λ (__0 : cupicef.Term cupicef.prop (and A C)), C) - (λ (__0 : cupicef.Term cupicef.prop A), - λ (__1 : cupicef.Term cupicef.prop C), __1) - (HypL __); -symbol let__H1 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - Π (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), - Π - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop (and A C) - ), - Π - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop (and A B) - ), - Π (H0 : cupicef.Term cupicef.prop C), - Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop B - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - λ (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), - λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop (and A C) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop (and A B) - ), - λ (H0 : cupicef.Term cupicef.prop C), - λ (__ : cupicef.Term cupicef.prop (and A C)), - match____and cupicef.prop A B - (λ (__0 : cupicef.Term cupicef.prop (and A B)), B) - (λ (__0 : cupicef.Term cupicef.prop A), - λ (__1 : cupicef.Term cupicef.prop B), __1) - (HypR __); -opaque symbol and__cancel__l - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - __ : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - __0 : Π (__0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - cupicef.Term cupicef.prop - (iff (iff (and A B) (and A C)) (iff B C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff (and A B) (and A C)) - (λ - (__ : cupicef.Term cupicef.prop (iff (and A B) (and A C)) - ), iff B C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff B C) - (λ (__ : cupicef.Term cupicef.prop (iff B C)), - iff (and A B) (and A C))) - (λ - (H : cupicef.Term cupicef.prop (iff (and A B) (and A C))), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and A B) - (λ (__ : cupicef.Term cupicef.prop (and A B)), and A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and A C) - (λ (__ : cupicef.Term cupicef.prop (and A C)), and A B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (and A B) - (λ (__ : cupicef.Term cupicef.prop (and A B)), - and A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (and A C) - (λ (__ : cupicef.Term cupicef.prop (and A C)), - and A B))) - ), iff B C) - (λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.Term cupicef.prop (and A C) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and A C)), - cupicef.Term cupicef.prop (and A B) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ (H0 : cupicef.Term cupicef.prop B), - let__H0 A B C Hl Hr H HypL HypR H0 - (conj A B (Hl H0) H0)) - (λ (H0 : cupicef.Term cupicef.prop C), - let__H1 A B C Hl Hr H HypL HypR H0 - (conj A C (Hr H0) H0))) - H) - (and__iff__compat__l A B C); -symbol let__H2 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - Π (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), - Π - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop (and C A) - ), - Π - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop (and B A) - ), - Π (H0 : cupicef.Term cupicef.prop B), - Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop C - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - λ (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), - λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop (and C A) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop (and B A) - ), - λ (H0 : cupicef.Term cupicef.prop B), - λ (__ : cupicef.Term cupicef.prop (and B A)), - match____and cupicef.prop C A - (λ (__0 : cupicef.Term cupicef.prop (and C A)), C) - (λ (__0 : cupicef.Term cupicef.prop C), - λ (__1 : cupicef.Term cupicef.prop A), __0) - (HypL __); -symbol let__H3 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - Π (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), - Π - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop (and C A) - ), - Π - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop (and B A) - ), - Π (H0 : cupicef.Term cupicef.prop C), - Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop B - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - λ (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), - λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop (and C A) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop (and B A) - ), - λ (H0 : cupicef.Term cupicef.prop C), - λ (__ : cupicef.Term cupicef.prop (and C A)), - match____and cupicef.prop B A - (λ (__0 : cupicef.Term cupicef.prop (and B A)), B) - (λ (__0 : cupicef.Term cupicef.prop B), - λ (__1 : cupicef.Term cupicef.prop A), __0) - (HypR __); -opaque symbol and__cancel__r - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - __ : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - Π - ( - __0 : Π (__0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - cupicef.Term cupicef.prop - (iff (iff (and B A) (and C A)) (iff B C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff (and B A) (and C A)) - (λ - (__ : cupicef.Term cupicef.prop (iff (and B A) (and C A)) - ), iff B C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff B C) - (λ (__ : cupicef.Term cupicef.prop (iff B C)), - iff (and B A) (and C A))) - (λ - (H : cupicef.Term cupicef.prop (iff (and B A) (and C A))), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and B A) - (λ (__ : cupicef.Term cupicef.prop (and B A)), and C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and C A) - (λ (__ : cupicef.Term cupicef.prop (and C A)), and B A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (and B A) - (λ (__ : cupicef.Term cupicef.prop (and B A)), - and C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (and C A) - (λ (__ : cupicef.Term cupicef.prop (and C A)), - and B A))) - ), iff B C) - (λ - ( - HypL : Π (__ : cupicef.Term cupicef.prop (and B A)), - cupicef.Term cupicef.prop (and C A) - ), - λ - ( - HypR : Π (__ : cupicef.Term cupicef.prop (and C A)), - cupicef.Term cupicef.prop (and B A) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ (H0 : cupicef.Term cupicef.prop B), - let__H2 A B C Hl Hr H HypL HypR H0 - (conj B A H0 (Hl H0))) - (λ (H0 : cupicef.Term cupicef.prop C), - let__H3 A B C Hl Hr H HypL HypR H0 - (conj C A H0 (Hr H0)))) - H) - (and__iff__compat__r A B C); -opaque symbol and__comm - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop (iff (and A B) (and B A)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (and A B) - (λ (__ : cupicef.Term cupicef.prop (and A B)), and B A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (and B A) - (λ (__ : cupicef.Term cupicef.prop (and B A)), and A B)) - (λ (H : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), and B A) - (λ (H0 : cupicef.Term cupicef.prop A), - λ (H1 : cupicef.Term cupicef.prop B), conj B A H1 H0) - H) - (λ (H : cupicef.Term cupicef.prop (and B A)), - match____and cupicef.prop B A - (λ (__ : cupicef.Term cupicef.prop (and B A)), and A B) - (λ (H0 : cupicef.Term cupicef.prop B), - λ (H1 : cupicef.Term cupicef.prop A), conj A B H1 H0) - H); -opaque symbol and__assoc - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop (iff (and (and A B) C) (and A (and B C))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and (and A B) C) - (λ (__ : cupicef.Term cupicef.prop (and (and A B) C)), - and A (and B C))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and A (and B C)) - (λ (__ : cupicef.Term cupicef.prop (and A (and B C))), - and (and A B) C)) - (λ (H : cupicef.Term cupicef.prop (and (and A B) C)), - match____and cupicef.prop (and A B) C - (λ (__ : cupicef.Term cupicef.prop (and (and A B) C)), - and A (and B C)) - (λ (H0 : cupicef.Term cupicef.prop (and A B)), - match____and cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (and A B)), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I C - (λ (__0 : cupicef.Term cupicef.prop C), and A (and B C))) - (λ (H1 : cupicef.Term cupicef.prop A), - λ (H2 : cupicef.Term cupicef.prop B), - λ (H3 : cupicef.Term cupicef.prop C), - conj A (and B C) H1 (conj B C H2 H3)) - H0) - H) - (λ (H : cupicef.Term cupicef.prop (and A (and B C))), - match____and cupicef.prop A (and B C) - (λ (__ : cupicef.Term cupicef.prop (and A (and B C))), - and (and A B) C) - (λ (H0 : cupicef.Term cupicef.prop A), - λ (H1 : cupicef.Term cupicef.prop (and B C)), - match____and cupicef.prop B C - (λ (__ : cupicef.Term cupicef.prop (and B C)), - and (and A B) C) - (λ (H2 : cupicef.Term cupicef.prop B), - λ (H3 : cupicef.Term cupicef.prop C), - conj (and A B) C (conj A B H0 H2) H3) - H1) - H); -symbol let__o - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - Π (H0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (or A C) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - λ (H0 : cupicef.Term cupicef.prop B), - Hl (or__intror A B H0); -symbol let__n - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - Π (H0 : cupicef.Term cupicef.prop B), - Π (H1 : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - λ (H0 : cupicef.Term cupicef.prop B), - λ (H1 : cupicef.Term cupicef.prop A), Fl H0 H1; -symbol let__o0 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - Π (H0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (or A B) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - λ (H0 : cupicef.Term cupicef.prop C), - Hr (or__intror A C H0); -symbol let__n0 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - Π (H0 : cupicef.Term cupicef.prop C), - Π (H1 : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - λ (H0 : cupicef.Term cupicef.prop C), - λ (H1 : cupicef.Term cupicef.prop A), Fr H0 H1; -opaque symbol or__cancel__l - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - __ : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - __0 : Π (__0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - cupicef.Term cupicef.prop - (iff (iff (or A B) (or A C)) (iff B C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff (or A B) (or A C)) - (λ - (__ : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - iff B C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff B C) - (λ (__ : cupicef.Term cupicef.prop (iff B C)), - iff (or A B) (or A C))) - (λ (H : cupicef.Term cupicef.prop (iff (or A B) (or A C))), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or A B) - (λ (__ : cupicef.Term cupicef.prop (or A B)), or A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or A C) - (λ (__ : cupicef.Term cupicef.prop (or A C)), or A B)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (or A B) - (λ (__ : cupicef.Term cupicef.prop (or A B)), - or A C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (or A C) - (λ (__ : cupicef.Term cupicef.prop (or A C)), - or A B))) - ), iff B C) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or A B)), - cupicef.Term cupicef.prop (or A C) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or A C)), - cupicef.Term cupicef.prop (or A B) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ (H0 : cupicef.Term cupicef.prop B), - match____or cupicef.prop A C - (λ (__ : cupicef.Term cupicef.prop (or A C)), C) - (λ (H1 : cupicef.Term cupicef.prop A), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), C) - (let__n A B C Fl Fr H Hl Hr H0 H1)) - (λ (H1 : cupicef.Term cupicef.prop C), H1) - (let__o A B C Fl Fr H Hl Hr H0)) - (λ (H0 : cupicef.Term cupicef.prop C), - match____or cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (or A B)), B) - (λ (H1 : cupicef.Term cupicef.prop A), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), B) - (let__n0 A B C Fl Fr H Hl Hr H0 H1)) - (λ (H1 : cupicef.Term cupicef.prop B), H1) - (let__o0 A B C Fl Fr H Hl Hr H0))) - H) - (or__iff__compat__l A B C); -symbol let__o1 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - Π (H0 : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (or C A) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - λ (H0 : cupicef.Term cupicef.prop B), - Hl (or__introl B A H0); -symbol let__n1 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - Π (H0 : cupicef.Term cupicef.prop B), - Π (H1 : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - λ (H0 : cupicef.Term cupicef.prop B), - λ (H1 : cupicef.Term cupicef.prop A), Fl H0 H1; -symbol let__o2 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - Π (H0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (or B A) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - λ (H0 : cupicef.Term cupicef.prop C), - Hr (or__introl C A H0); -symbol let__n2 - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - Π (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - Π - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - Π - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - Π (H0 : cupicef.Term cupicef.prop C), - Π (H1 : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - λ (H0 : cupicef.Term cupicef.prop C), - λ (H1 : cupicef.Term cupicef.prop A), Fr H0 H1; -opaque symbol or__cancel__r - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π - ( - __ : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - Π - ( - __0 : Π (__0 : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - cupicef.Term cupicef.prop - (iff (iff (or B A) (or C A)) (iff B C)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ - ( - Fl : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (not A) - ), - λ - ( - Fr : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop (not A) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff (or B A) (or C A)) - (λ - (__ : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - iff B C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff B C) - (λ (__ : cupicef.Term cupicef.prop (iff B C)), - iff (or B A) (or C A))) - (λ (H : cupicef.Term cupicef.prop (iff (or B A) (or C A))), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or B A) - (λ (__ : cupicef.Term cupicef.prop (or B A)), or C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or C A) - (λ (__ : cupicef.Term cupicef.prop (or C A)), or B A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (or B A) - (λ (__ : cupicef.Term cupicef.prop (or B A)), - or C A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (or C A) - (λ (__ : cupicef.Term cupicef.prop (or C A)), - or B A))) - ), iff B C) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop (or B A)), - cupicef.Term cupicef.prop (or C A) - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop (or C A)), - cupicef.Term cupicef.prop (or B A) - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (λ (H0 : cupicef.Term cupicef.prop B), - match____or cupicef.prop C A - (λ (__ : cupicef.Term cupicef.prop (or C A)), C) - (λ (H1 : cupicef.Term cupicef.prop C), H1) - (λ (H1 : cupicef.Term cupicef.prop A), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), C) - (let__n1 A B C Fl Fr H Hl Hr H0 H1)) - (let__o1 A B C Fl Fr H Hl Hr H0)) - (λ (H0 : cupicef.Term cupicef.prop C), - match____or cupicef.prop B A - (λ (__ : cupicef.Term cupicef.prop (or B A)), B) - (λ (H1 : cupicef.Term cupicef.prop B), H1) - (λ (H1 : cupicef.Term cupicef.prop A), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), B) - (let__n2 A B C Fl Fr H Hl Hr H0 H1)) - (let__o2 A B C Fl Fr H Hl Hr H0))) - H) - (or__iff__compat__r A B C); -opaque symbol or__comm - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop (iff (or A B) (or B A)) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (or A B) - (λ (__ : cupicef.Term cupicef.prop (or A B)), or B A)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (or B A) - (λ (__ : cupicef.Term cupicef.prop (or B A)), or A B)) - (λ (H : cupicef.Term cupicef.prop (or A B)), - match____or cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (or A B)), or B A) - (λ (H0 : cupicef.Term cupicef.prop A), or__intror B A H0) - (λ (H0 : cupicef.Term cupicef.prop B), or__introl B A H0) H) - (λ (H : cupicef.Term cupicef.prop (or B A)), - match____or cupicef.prop B A - (λ (__ : cupicef.Term cupicef.prop (or B A)), or A B) - (λ (H0 : cupicef.Term cupicef.prop B), or__intror A B H0) - (λ (H0 : cupicef.Term cupicef.prop A), or__introl A B H0) H); -opaque symbol or__assoc - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop (iff (or (or A B) C) (or A (or B C))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or (or A B) C) - (λ (__ : cupicef.Term cupicef.prop (or (or A B) C)), - or A (or B C))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (or A (or B C)) - (λ (__ : cupicef.Term cupicef.prop (or A (or B C))), - or (or A B) C)) - (λ (H : cupicef.Term cupicef.prop (or (or A B) C)), - match____or cupicef.prop (or A B) C - (λ (__ : cupicef.Term cupicef.prop (or (or A B) C)), - or A (or B C)) - (λ (H0 : cupicef.Term cupicef.prop (or A B)), - match____or cupicef.prop A B - (λ (__ : cupicef.Term cupicef.prop (or A B)), - or A (or B C)) - (λ (H1 : cupicef.Term cupicef.prop A), - or__introl A (or B C) H1) - (λ (H1 : cupicef.Term cupicef.prop B), - or__intror A (or B C) (or__introl B C H1)) - H0) - (λ (H0 : cupicef.Term cupicef.prop C), - or__intror A (or B C) (or__intror B C H0)) - H) - (λ (H : cupicef.Term cupicef.prop (or A (or B C))), - match____or cupicef.prop A (or B C) - (λ (__ : cupicef.Term cupicef.prop (or A (or B C))), - or (or A B) C) - (λ (H0 : cupicef.Term cupicef.prop A), - or__introl (or A B) C (or__introl A B H0)) - (λ (H0 : cupicef.Term cupicef.prop (or B C)), - match____or cupicef.prop B C - (λ (__ : cupicef.Term cupicef.prop (or B C)), - or (or A B) C) - (λ (H1 : cupicef.Term cupicef.prop B), - or__introl (or A B) C (or__intror A B H1)) - (λ (H1 : cupicef.Term cupicef.prop C), - or__intror (or A B) C H1) - H0) - H); -opaque symbol iff__and - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff A B)), - cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff A B)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__ : cupicef.Term cupicef.prop B), A))) - ), - and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A))) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - H1 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - H0 H1) - H; -opaque symbol iff__to__and - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - cupicef.Term cupicef.prop - (iff (iff A B) - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)))) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I (iff A B) - (λ (__ : cupicef.Term cupicef.prop (iff A B)), - and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A)))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A))) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A))) - ), iff A B)) - (λ (H : cupicef.Term cupicef.prop (iff A B)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__ : cupicef.Term cupicef.prop B), A))) - ), - and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__0 : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__0 : cupicef.Term cupicef.prop B), A))) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ (H0 : cupicef.Term cupicef.prop A), Hl H0) - (λ (H0 : cupicef.Term cupicef.prop B), Hr H0)) - H) - (λ - ( - H : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A))) - ), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - B (λ (__ : cupicef.Term cupicef.prop B), A))) - ), iff A B) - (λ - ( - Hl : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - Hr : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ (H0 : cupicef.Term cupicef.prop A), Hl H0) - (λ (H0 : cupicef.Term cupicef.prop B), Hr H0)) - H); -symbol IF__then__else - : Π (P : cupicef.Univ cupicef.prop), - Π (Q : cupicef.Univ cupicef.prop), - Π (R : cupicef.Univ cupicef.prop), cupicef.Univ cupicef.prop - ≔ λ (P : cupicef.Univ cupicef.prop), - λ (Q : cupicef.Univ cupicef.prop), - λ (R : cupicef.Univ cupicef.prop), or (and P Q) (and (not P) R); -symbol ex - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), cupicef.Univ cupicef.prop; -symbol ex__intro - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (ex A P); -rule cupicef.code_guarded? _ (ex__intro _ _ _ _) ↪ cupicef.guarded; -symbol match____ex - : Π (s : cupicef.Sort), - Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (P0 : cupicef.Term cupicef.prop (ex A P) → cupicef.Univ s), - Π - ( - case__ex__intro : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x0)), - cupicef.Term s (P0 (ex__intro A P x0 __)) - ), - Π (x : cupicef.Term cupicef.prop (ex A P)), - cupicef.Term s (P0 x); -rule match____ex $s $A $P $P0 $case__ex__intro (ex__intro $A $P $x0 $__) ↪ -$case__ex__intro $x0 $__; -rule match____ex $s $A $P - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P0.[x])) ↪ -match____ex $s' $A $P (λ x, $P0.[x]); -symbol ex__ind - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (P0 : cupicef.Univ cupicef.prop), - Π - ( - f : Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop P0 - ), - Π (e : cupicef.Term cupicef.prop (ex A P)), - cupicef.Term cupicef.prop P0 - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ (P0 : cupicef.Univ cupicef.prop), - λ - ( - f : Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop P0 - ), - λ (e : cupicef.Term cupicef.prop (ex A P)), - match____ex cupicef.prop A P - (λ (__ : cupicef.Term cupicef.prop (ex A P)), P0) f e; -symbol ex2 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), cupicef.Univ cupicef.prop; -symbol ex__intro2 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (__ : cupicef.Term cupicef.prop (P x)), - Π (__0 : cupicef.Term cupicef.prop (Q x)), - cupicef.Term cupicef.prop (ex2 A P Q); -rule cupicef.code_guarded? _ (ex__intro2 _ _ _ _ _ _) ↪ cupicef.guarded; -symbol match____ex2 - : Π (s : cupicef.Sort), - Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - Π - (P0 : cupicef.Term cupicef.prop (ex2 A P Q) → cupicef.Univ s), - Π - ( - case__ex__intro2 : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__ : cupicef.Term cupicef.prop (P x0) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (Q x0) - ), - cupicef.Term s - (P0 (ex__intro2 A P Q x0 __ __0)) - ), - Π (x : cupicef.Term cupicef.prop (ex2 A P Q)), - cupicef.Term s (P0 x); -rule match____ex2 $s $A $P $Q $P0 $case__ex__intro2 - (ex__intro2 $A $P $Q $x0 $__ $__0) ↪ $case__ex__intro2 $x0 $__ $__0; -rule match____ex2 $s $A $P $Q - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P0.[x])) ↪ -match____ex2 $s' $A $P $Q (λ x, $P0.[x]); -symbol ex2__ind - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (P0 : cupicef.Univ cupicef.prop), - Π - ( - f : Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - Π (__0 : cupicef.Term cupicef.prop (Q x)), - cupicef.Term cupicef.prop P0 - ), - Π (e : cupicef.Term cupicef.prop (ex2 A P Q)), - cupicef.Term cupicef.prop P0 - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - Q : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - λ (P0 : cupicef.Univ cupicef.prop), - λ - ( - f : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - Π (__0 : cupicef.Term cupicef.prop (Q x)), - cupicef.Term cupicef.prop P0 - ), - λ (e : cupicef.Term cupicef.prop (ex2 A P Q)), - match____ex2 cupicef.prop A P Q - (λ (__ : cupicef.Term cupicef.prop (ex2 A P Q)), P0) f e; -symbol all - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.I A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x); -opaque symbol inst - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - __ : cupicef.Term cupicef.prop - (all A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)) - ), cupicef.Term cupicef.prop (P x) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.cast - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.prop)) - cupicef.I A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.prod - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.prop) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.I A - (λ - ( - x0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x0)) - (λ - ( - H : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term cupicef.prop (P x0) - ), P x))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (all A - (λ - ( - x0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x0)) - (λ - ( - __ : cupicef.Term cupicef.prop - (all A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)) - ), P x))) - cupicef.I - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term cupicef.prop (P x0) - ), H x); -opaque symbol gen - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (B : cupicef.Univ cupicef.prop), - Π - ( - f : Π - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (P y) - ), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (all A P) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.cast - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop)))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop)))) - cupicef.I - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (λ (B : cupicef.Univ cupicef.prop), - cupicef.prod - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop))) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), P y))) - (λ - ( - f : Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (P y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop)) - cupicef.I B - (λ (H : cupicef.Term cupicef.prop B), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (λ (B : cupicef.Univ cupicef.prop), - cupicef.prod - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), P y))) - (λ - ( - f : Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (P y) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), all A P)))) - cupicef.I - (λ (B : cupicef.Univ cupicef.prop), - λ - ( - f : Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop (P y) - ), - λ (H : cupicef.Term cupicef.prop B), - λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), f x H); -symbol eq - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ cupicef.prop; -symbol eq__refl - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), cupicef.Term cupicef.prop (eq A x x); -rule cupicef.code_guarded? _ (eq__refl _ _) ↪ cupicef.guarded; -symbol match____eq - : Π (s : cupicef.Sort), - Π - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Term cupicef.prop (eq A x __) → cupicef.Univ s - ), - Π (case__eq__refl : cupicef.Term s (P x (eq__refl A x))), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (x0 : cupicef.Term cupicef.prop (eq A x __)), - cupicef.Term s (P __ x0); -rule match____eq $s $A $x $P $case__eq__refl $x (eq__refl $A $x) ↪ $case__eq__refl; -rule match____eq $s $A $x - (λ __, - λ x, - cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[__; x])) ↪ -match____eq $s' $A $x (λ __, λ x, $P.[__; x]); -symbol eq__rect - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π - (f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x)), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (e : cupicef.Term cupicef.prop (eq A x y)), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P y) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ - ( - f : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) - ), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (e : cupicef.Term cupicef.prop (eq A x y)), - match____eq (cupicef.{|type|} (cupicef.s cupicef.z)) A x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), λ (__ : cupicef.Term cupicef.prop (eq A x y0)), P y0) - f y e; -symbol eq__ind - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ cupicef.prop - ), - Π (f : cupicef.Term cupicef.prop (P x)), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (e : cupicef.Term cupicef.prop (eq A x y)), - cupicef.Term cupicef.prop (P y) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ cupicef.prop - ), - λ (f : cupicef.Term cupicef.prop (P x)), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (e : cupicef.Term cupicef.prop (eq A x y)), - match____eq cupicef.prop A x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), λ (__ : cupicef.Term cupicef.prop (eq A x y0)), P y0) - f y e; -symbol eq__rec - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ cupicef.set - ), - Π (f : cupicef.Term cupicef.set (P x)), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (e : cupicef.Term cupicef.prop (eq A x y)), - cupicef.Term cupicef.set (P y) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - P : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), cupicef.Univ cupicef.set - ), - eq__rect A x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - cupicef.univ cupicef.set - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P); -symbol let__f - : Π (A : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (h1 : cupicef.Term cupicef.prop A), - Π - ( - h2 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), cupicef.Term cupicef.prop False - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (h1 : cupicef.Term cupicef.prop A), - λ - ( - h2 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), h2 h1; -opaque symbol absurd - : Π (A : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop A), - Π (__0 : cupicef.Term cupicef.prop (not A)), - cupicef.Term cupicef.prop C - ≔ cupicef.cast - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop)))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop)))) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (λ (A : cupicef.Univ cupicef.prop), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop))) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (λ (C : cupicef.Univ cupicef.prop), - cupicef.prod cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop)) - cupicef.I A - (λ (h1 : cupicef.Term cupicef.prop A), - cupicef.prod (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.prop) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), False)) - (λ - ( - h2 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), C))))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)))) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (λ (A : cupicef.Univ cupicef.prop), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (λ (C : cupicef.Univ cupicef.prop), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (not A) (λ (__0 : cupicef.Term cupicef.prop (not A)), C))))) - cupicef.I - (λ (A : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (h1 : cupicef.Term cupicef.prop A), - λ - ( - h2 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop False - ), - match____False cupicef.prop - (λ (__ : cupicef.Term cupicef.prop False), C) - (let__f A C h1 h2)); -symbol eq__sym - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (__ : cupicef.Term cupicef.prop (eq A x y)), - cupicef.Term cupicef.prop (eq A y x) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (H : cupicef.Term cupicef.prop (eq A x y)), - match____eq cupicef.prop A x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (__ : cupicef.Term cupicef.prop (eq A x y0)), eq A y0 x) - (eq__refl A x) y H; -symbol eq__trans - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π - ( - z : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (__ : cupicef.Term cupicef.prop (eq A x y)), - Π (__0 : cupicef.Term cupicef.prop (eq A y z)), - cupicef.Term cupicef.prop (eq A x z) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - z : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (H : cupicef.Term cupicef.prop (eq A x y)), - λ (H0 : cupicef.Term cupicef.prop (eq A y z)), - match____eq cupicef.prop A y - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - λ (__ : cupicef.Term cupicef.prop (eq A y y0)), - eq A x y0) - H z H0; -symbol f__equal - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - B : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) B - ), - Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (__ : cupicef.Term cupicef.prop (eq A x y)), - cupicef.Term cupicef.prop (eq B (f x) (f y)) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - B : cupicef.Univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) B - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ (H : cupicef.Term cupicef.prop (eq A x y)), - match____eq cupicef.prop A x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - λ (__ : cupicef.Term cupicef.prop (eq A x y0)), - eq B (f x) (f y0)) - (eq__refl B (f x)) y H; -opaque symbol not__eq__sym - : Π - (A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))), - Π - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - Π - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - Π (__ : cupicef.Term cupicef.prop (not (eq A x y))), - cupicef.Term cupicef.prop (not (eq A y x)) - ≔ λ - ( - A : cupicef.Univ (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - ), - λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) A - ), - cupicef.cast - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I (not (eq A x y)) - (λ (h1 : cupicef.Term cupicef.prop (not (eq A x y))), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (eq A y x) - (λ (h2 : cupicef.Term cupicef.prop (eq A y x)), False))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (not (eq A x y)) - (λ (__ : cupicef.Term cupicef.prop (not (eq A x y))), - not (eq A y x))) - cupicef.I - (λ (h1 : cupicef.Term cupicef.prop (not (eq A x y))), - λ (h2 : cupicef.Term cupicef.prop (eq A y x)), - h1 - (match____eq cupicef.prop A y - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - A - ), - λ (__ : cupicef.Term cupicef.prop (eq A y y0)), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (not (eq A y0 y)) - (λ - (h3 : cupicef.Term cupicef.prop (not (eq A y0 y))), - eq A y0 y)) - (λ (h3 : cupicef.Term cupicef.prop (not (eq A y y))), - eq__refl A y) - x h2 h1)); -symbol eq__ind__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), cupicef.Term cupicef.prop (P y) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - P : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - λ (H : cupicef.Term cupicef.prop (P x)), - λ - (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), - eq__ind - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P y0) - H y - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x H0); -symbol eq__rec__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.set - ), - Π (__ : cupicef.Term cupicef.set (P x)), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), cupicef.Term cupicef.set (P y) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - P : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.set - ), - λ (H : cupicef.Term cupicef.set (P x)), - λ - (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), - eq__rec - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P y0) - H y - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x H0); -symbol eq__rect__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) - ), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P y) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - P : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ - ( - H : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) - ), - λ - (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x) - ), - eq__rect - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P y0) - H y - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x H0); -symbol rew__opp__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P y)) - (eq__rect - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P (eq__rect__r A y P a x H) y H) - a) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - λ - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) - cupicef.I (P y0) - (λ - ( - a0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P y0)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P (eq__rect__r A y0 P a0 x e) y0 e) - a0)) - (λ - ( - a0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) - ), - eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - a0) - y H a; -symbol rew__opp__l - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - (eq__rect__r A y P - (eq__rect - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P a y H) - x H) - a) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - λ - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - (eq__rect__r A y0 P - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P a y0 e) - x e) - a) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - a) - y H; -opaque symbol f__equal2 - : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - (x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1), - Π - ( - y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - x2 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A2 - ), - Π - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2) (f y1 y2)) - ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ - ( - x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - λ - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - (λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2) (f y y2))) - (λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2) (f x1 y)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2)) - y2 H0) - y1 H; -opaque symbol f__equal3 - : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - B - ), - Π - ( - x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - y1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - Π - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - Π - ( - __1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3) (f y1 y2 y3)) - ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ - ( - x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - λ - ( - y1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - λ - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - (λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3) (f y y2 y3)))) - (λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A2 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3) (f x1 y y3))) - (λ - ( - H1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A3 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3) (f x1 x2 y)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3)) - y3 H1) - y2 H0) - y1 H; -opaque symbol f__equal4 - : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - __2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A4 - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - ( - x1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A1 - ), - Π - ( - y1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - x4 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - Π - ( - y4 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - Π - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - Π - ( - __1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - Π - ( - __2 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4) (f y1 y2 y3 y4)) - ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - __2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ - ( - x1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - y1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - λ - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A3 - ), - λ - ( - x4 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - λ - ( - y4 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A4 - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A1 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop))) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - (λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __2 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4) - (f y y2 y3 y4))))) - (λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A2 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4) - (f x1 y y3 y4)))) - (λ - ( - H1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A3 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y) - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4) - (f x1 x2 y y4))) - (λ - ( - H2 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A4 - ), - λ - ( - __ : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4) - (f x1 x2 x3 y)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4)) - y4 H2) - y3 H1) - y2 H0) - y1 H; -opaque symbol f__equal5 - : Π (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (A5 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - __2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - Π - ( - __3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A5 - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - ( - x1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - y1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A3 - ), - Π - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A3 - ), - Π - ( - x4 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - Π - ( - y4 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A4 - ), - Π - ( - x5 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A5 - ), - Π - ( - y5 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A5 - ), - Π - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - Π - ( - __1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - Π - ( - __2 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - Π - ( - __3 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f y1 y2 y3 y4 y5)) - ≔ λ (A1 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A2 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A3 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (A4 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - (A5 : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - Π - ( - __1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A3 - ), - Π - ( - __2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A4 - ), - Π - ( - __3 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A5 - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ - ( - x1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - y1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A1 - ), - λ - ( - x2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - y2 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A2 - ), - λ - ( - x3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A3 - ), - λ - ( - y3 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A3 - ), - λ - ( - x4 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A4 - ), - λ - ( - y4 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A4 - ), - λ - ( - x5 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A5 - ), - λ - ( - y5 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A5 - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y1) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A1 - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A1) - x1 y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop cupicef.prop))) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop cupicef.prop)))) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop cupicef.prop)) - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop))) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - cupicef.prod - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __2 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - cupicef.prod - cupicef.prop - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - (λ - ( - __3 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z)) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z))) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I - A5) - x5 y5) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f y y2 y3 y4 y5)))))) - (λ - ( - H0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y2) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A2 - ), - λ - ( - __ : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A2) - x2 y) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop cupicef.prop)) - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop))) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - cupicef.prod - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - cupicef.prod - cupicef.prop - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - (λ - ( - __2 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z)) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z))) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I - A5) - x5 y5) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f x1 y y3 y4 y5))))) - (λ - ( - H1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y3) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A3 - ), - λ - ( - __ : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A3) - x3 y) - ), - cupicef.prod - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - cupicef.prod - cupicef.prop - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - (λ - ( - __1 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z)) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z))) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I - A5) - x5 y5) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f x1 x2 y y4 y5)))) - (λ - ( - H2 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y4) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - A4 - ), - λ - ( - __ : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A4) - x4 y) - ), - cupicef.prod - cupicef.prop - cupicef.prop - (cupicef.{|rule|} - cupicef.prop - cupicef.prop) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - (λ - ( - __0 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z)) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z))) - ( - cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I - A5) - x5 y5) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f x1 x2 x3 y y5))) - (λ - ( - H3 : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 y5) - ), - match____eq - cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A5) - x5 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - A5 - ), - λ - ( - __ : cupicef.Term - cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - ( - cupicef.s - cupicef.z)) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z))) - (cupicef.axiom - ( - cupicef.{|type|} - ( - cupicef.s - ( - cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I - A5) - x5 y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5) - (f x1 x2 x3 x4 y)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x1 x2 x3 x4 x5)) - y5 H3) - y4 H2) - y3 H1) - y2 H0) - y1 H; -symbol f__equal__compose - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (C : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (b : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - ( - g : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - C - ), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a b) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (g (f a)) (g (f b)))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - g (f a) (f b) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f a b e)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (λ - ( - a0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), g (f a0)) - a b e)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (C : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (b : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - B - ), - λ - ( - g : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) C - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a b) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (g (f a)) (g (f y)))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - g (f a) (f y) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f a y e0)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (λ - ( - a0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), g (f a0)) - a y e0)) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (g (f a)) (g (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I C) - (λ - ( - a0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), g (f a0)) - a a - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a))) - b e; -symbol eq__trans__refl__l - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x y - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x) - e) - e) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x y0 - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x) - e0) - e0) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y e; -symbol eq__trans__refl__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y y e - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y)) - e) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 y0 e0 - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0)) - e0) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y e; -symbol eq__sym__involutive - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y)) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y e)) - e) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0)) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 x - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0)) - e0) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y e; -symbol eq__trans__sym__inv__l - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y y)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y x y - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y e) - e) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 x y0 - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0) - e0) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0)) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y e; -symbol eq__trans__sym__inv__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y x e - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y e)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 x e0 - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y e; -symbol eq__trans__assoc - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (t : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - Π - ( - e_27__27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z t) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x t)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y t e - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z t e_27_ e_27__27_)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z t - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_) - e_27__27_)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (t : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - λ - ( - e_27__27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z t) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z y0) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y y0 e - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z y0 e_27_ e0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z y0 - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_) - e0)) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z z - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z))) - t e_27__27_; -symbol let__e - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Hf a; -symbol let__a0 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - f a; -symbol let__e0 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Hf a; -symbol let__a1 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - f a; -symbol eq__id__comm__l - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (Hf a)) - (Hf (f a))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a)) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.cast cupicef.prop cupicef.prop - ((λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f a)) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f y)) - e (f a) (Hf a)) - (Hf (f a))) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a))) - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (Hf a)) - (Hf (f a))) - cupicef.I - (eq__ind - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f a))) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a (f a) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a (f a) (Hf a)) - (Hf a)) - (λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f a)) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f y)) - e (f a) (Hf a)) - (Hf (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y (f y))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y (f y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y a (f a) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y e0) - (Hf a)) - y e0) - (Hf y)) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a - (λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a y)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a a y - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a a - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a)) - e0) - e0) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a a)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a)) - (f a) (let__e0 A f Hf a)) - (f a) (let__e A f Hf a)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a)) - (eq__trans__sym__inv__l A a (f a) (Hf a))); -symbol let__Hfsymf - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - (a0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - a0 (f a0)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (a0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a0) a0 (Hf a0); -symbol let__e1 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) - (let__Hfsymf A f Hf a (f (f a)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - eq__id__comm__l A f (let__Hfsymf A f Hf a) (f a); -symbol let__e2 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - let__Hfsymf A f Hf a (f (f a)); -symbol let__e3 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (let__Hfsymf A f Hf a a)) - (let__Hfsymf A f Hf a (f a))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - eq__id__comm__l A f (let__Hfsymf A f Hf a) a; -symbol let__e4 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - let__Hfsymf A f Hf a (f a); -symbol let__e5 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Hf a; -symbol eq__id__comm__r - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - Hf : Π - (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - Π (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) a (Hf a)) - (Hf (f a))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - Hf : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a) - ), - λ (a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.cast cupicef.prop cupicef.prop - ((λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f a))) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - e a (Hf a)) - (Hf (f a))) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)))) - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) a (Hf a)) - (Hf (f a))) - cupicef.I - (eq__ind - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f a)))) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)) (Hf (f (f a)))) - (Hf (f (f a)))) - (λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f a))) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - e a (Hf a)) - (Hf (f a))) - (cupicef.cast cupicef.prop cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (let__Hfsymf A f Hf a (f (f a))) (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - cupicef.I - (match____eq cupicef.prop - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) - (λ - ( - y : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a)))) - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) (let__Hfsymf A f Hf a (f a))) - y) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) y (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - (match____eq cupicef.prop - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (let__Hfsymf A f Hf a a)) - (λ - ( - y : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a))) - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f (f a)))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (let__Hfsymf A f Hf a a)) - y) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) y) - (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - (cupicef.cast cupicef.prop cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) a (Hf a)))) - (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f a))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f y)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a)) (f (f (f a))) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f a (f a) (let__Hfsymf A f Hf a a))) - (Hf (f (f a)))) - a (Hf a)) - (Hf (f a))) - cupicef.I - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f y)) (f y))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f y)) (f y0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f y)) (f (f (f a))) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f y) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f y (f a) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) y e1))) - (Hf (f (f a)))) - y e1) - (Hf (f y))) - (cupicef.cast cupicef.prop cupicef.prop - ((λ - ( - e1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a))) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)))) - e1 (Hf (f (f a)))) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f (f a))) (f (f a)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a)))) - (Hf (f (f a))))) - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)))) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f (f a))) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f (f a)) (f (f a)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - f (f a) (f a) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a) (f a) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f a))))) - (Hf (f (f a)))) - (Hf (f (f a)))) - cupicef.I - (eq__ind__r - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)))) - (Hf (f (f a))) - (λ - ( - e1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a))) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)))) - e1 (Hf (f (f a)))) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f a)))) - (Hf (f (f a)))) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a))) (f (f (f a))) (f (f a)) - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f (f a)))) - (Hf (f (f a)))) - (eq__trans__refl__l A (f (f (f a))) (f (f a)) - (Hf (f (f a)))))) - a (let__e5 A f Hf a))) - (let__Hfsymf A f Hf a (f a)) (let__e3 A f Hf a)) - (let__Hfsymf A f Hf a (f (f a))) (let__e1 A f Hf a))) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (f (f a))) - (eq__trans__sym__inv__l A (f (f (f a))) (f (f a)) - (Hf (f (f a))))); -opaque symbol eq__refl__map__distr - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - f : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f x))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x x - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f x))) - (eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x)); -symbol eq__trans__map__distr - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f z))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x z - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y) (f z) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y e) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f y z e_27_))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - B - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y y0) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y0))) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y0 - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y y0 e e0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y) (f y0) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y e) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f y y0 e0))) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y))) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y) (f y) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y e) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f y y - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y)))) - z e_27_; -symbol eq__sym__map__distr - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f y) (f x))) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y e)) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f y x - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y e))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - f : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f y0) (f x))) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f y0) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x y0 e0)) - (f__equal - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f y0 x - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0))) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - (f x) (f x))) - (f__equal - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I B) - f x x - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)))) - y e; -symbol eq__trans__sym__distr - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z x)) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z y x - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z e_27_) - (eq__sym - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y e))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 z) - (λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 z) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z x)) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 z e0 e_27_)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z y0 x - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 z e_27_) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0)))) - (λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 x)) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x y0 - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x) - e0)) - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 x x - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 e0) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)))) - (eq__refl - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x)) - (eq__trans - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x x - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)))) - z e_27_) - y e; -opaque symbol eq__trans__rew__distr - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y z) - ), - Π - ( - k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P z)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k z - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y z e e_27_)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y P - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k y e) - z e_27_)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop)) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 z) - (λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 z) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.I (P x) - (λ - ( - k : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P z)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k z - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0 z e0 e_27_)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - y0 P - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k y0 e0) - z e_27_)))) - (λ - ( - e_27_ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop) - cupicef.I (P x) - (λ - ( - k : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P y0)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k y0 - (eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x y0 - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x) - e0)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - y0 e0))) - (λ - ( - k : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), - eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P k x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x))) - z e_27_) - y e; -opaque symbol rew__const - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - (k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) P), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I P) - (eq__rect - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P) - k y e) - k) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (P : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - e0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.prop) - cupicef.I P - (λ - ( - k : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) P - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I P) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P) - k y0 e0) - k)) - (λ - ( - k : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - P - ), - eq__refl - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I P) - k) - y e; -symbol subrelation - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - R : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - B - ), cupicef.Univ cupicef.prop - ), - Π - ( - R_27_ : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), cupicef.Univ cupicef.prop - ), cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - R : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), cupicef.Univ cupicef.prop - ), - λ - ( - R_27_ : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), cupicef.Univ cupicef.prop - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I B - (λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - B - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (R x y) - (λ (__ : cupicef.Term cupicef.prop (R x y)), R_27_ x y))); -symbol unique - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - and (P x) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x_27_) - (λ (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))); -symbol uniqueness - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), cupicef.Univ cupicef.prop - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)))) - cupicef.I A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I A - (λ - (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I (P x) - (λ (__ : cupicef.Term cupicef.prop (P x)), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P y) - (λ (__0 : cupicef.Term cupicef.prop (P y)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y)))); -opaque symbol unique__existence - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (and - (ex A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x)) - (uniqueness A P)) - (ex A - (unique A - (λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (and - (ex A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x)) - (uniqueness A P)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (uniqueness A P)) - ), - ex A - (unique A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (ex A - (unique A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - and - (ex A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (uniqueness A P))) - (λ - ( - H : cupicef.Term cupicef.prop - (and - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (uniqueness A P)) - ), - match____and cupicef.prop - (ex A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (uniqueness A P) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (uniqueness A P)) - ), - ex A - (unique A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x))) - (λ - ( - H0 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - ), - match____ex cupicef.prop A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (uniqueness A P) - (λ (__0 : cupicef.Term cupicef.prop (uniqueness A P)), - ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)))) - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ (Hx : cupicef.Term cupicef.prop (P x)), - λ (Huni : cupicef.Term cupicef.prop (uniqueness A P)), - ex__intro A - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)) - x - (cupicef.cast cupicef.prop cupicef.prop - (and (P x) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27_) - (λ (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_)))) - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - cupicef.I - (conj (P x) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27_) - (λ (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))) - Hx - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ (H1 : cupicef.Term cupicef.prop (P x_27_)), - Huni x x_27_ Hx H1)))) - H0) - H) - (λ - ( - H : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - match____ex cupicef.prop A - (unique A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - and - (ex A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x)) - (uniqueness A P)) - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - ), - match____and cupicef.prop - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x_27_) - (λ - ( - __ : cupicef.Term cupicef.prop - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), P x0) - x_27_) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))) - (λ - ( - __ : cupicef.Term cupicef.prop - (and (P x) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27_) - (λ - (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_)))) - ), - and - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)) - (uniqueness A P)) - (λ (Hx : cupicef.Term cupicef.prop (P x)), - λ - ( - Huni : Π - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__ : cupicef.Term cupicef.prop (P x_27_)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - ), - conj - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)) - (uniqueness A P) - (ex__intro A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x Hx) - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)))) - cupicef.prop - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)))) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I A - (λ - ( - x_27__27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I (P x_27_) - (λ - ( - Hx_27_ : cupicef.Term cupicef.prop - (P x_27_) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27__27_) - (λ - ( - Hx_27__27_ : cupicef.Term cupicef.prop - (P x_27__27_) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x_27_ x_27__27_))))) - (uniqueness A P) cupicef.I - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - x_27__27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - (Hx_27_ : cupicef.Term cupicef.prop (P x_27_)), - λ - ( - Hx_27__27_ : cupicef.Term cupicef.prop - (P x_27__27_) - ), - eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x_27_ x x_27__27_ - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_ (Huni x_27_ Hx_27_)) - (Huni x_27__27_ Hx_27__27_)))) - H0) - H); -symbol let__H - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - H : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x))) - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - H0 : cupicef.Term cupicef.prop - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - ), - Π (Hp : cupicef.Term cupicef.prop (P x)), - Π - ( - Huniq : Π - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x_27_)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - ), - Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π - ( - H1 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - (H2 : cupicef.Term cupicef.prop (and (P x0) (Q x0)) - ), - Π (HPx0 : cupicef.Term cupicef.prop (P x0)), - Π (HQx0 : cupicef.Term cupicef.prop (Q x0)), - Π - ( - x1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (HPx1 : cupicef.Term cupicef.prop (P x1)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x0 x1) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - ), - λ (Hp : cupicef.Term cupicef.prop (P x)), - λ - ( - Huniq : Π - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x_27_)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - ), - λ - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H1 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0))) - ), - λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - H2 : cupicef.Term cupicef.prop - (and (P x0) (Q x0)) - ), - λ (HPx0 : cupicef.Term cupicef.prop (P x0)), - λ (HQx0 : cupicef.Term cupicef.prop (Q x0)), - λ - ( - x1 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - (HPx1 : cupicef.Term cupicef.prop (P x1)), - eq__trans - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x0 x x1 - (eq__sym - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0 (Huniq x0 HPx0)) - (Huniq x1 HPx1); -opaque symbol forall__exists__unique__domain__coincide - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x))) - ), - Π - ( - Q : Π - ( - __0 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( - P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - match____ex cupicef.prop A - (unique A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x)) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x))) - ), - cupicef.prod - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.prop) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) - (λ - ( - Q : Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x))))) - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H0 : cupicef.Term cupicef.prop - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - ), - match____and cupicef.prop - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0) - x_27_) - (λ - ( - __ : cupicef.Term cupicef.prop - ((λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x0) - x_27_) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))) - (λ - ( - __ : cupicef.Term cupicef.prop - (and (P x) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27_) - (λ (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_)))) - ), - cupicef.prod - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.prop) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) - (λ - ( - Q : Π - ( - __0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ (__0 : cupicef.Term cupicef.prop (P x0)), Q x0))) - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x0) (Q x0))))) - (λ (Hp : cupicef.Term cupicef.prop (P x)), - λ - ( - Huniq : Π - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__ : cupicef.Term cupicef.prop (P x_27_)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - ), - λ - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - conj - (cupicef.prod - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ (__ : cupicef.Term cupicef.prop (P x0)), - Q x0))) - (λ - ( - __ : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__ : cupicef.Term cupicef.prop (P x0)), - cupicef.Term cupicef.prop (Q x0) - ), - ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0)))) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x0) (Q x0))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ (__0 : cupicef.Term cupicef.prop (P x0)), - Q x0)))) - (λ - ( - H1 : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x0)), - cupicef.Term cupicef.prop (Q x0) - ), - ex__intro A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x0) (Q x0)) - x (conj (P x) (Q x) Hp (H1 x Hp))) - (λ - ( - H1 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0))) - ), - match____ex cupicef.prop A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x0) (Q x0)) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (Q x0))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ - (__0 : cupicef.Term cupicef.prop (P x0)), - Q x0))) - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - H2 : cupicef.Term cupicef.prop - (and (P x0) (Q x0)) - ), - match____and cupicef.prop (P x0) (Q x0) - (λ - ( - __ : cupicef.Term cupicef.prop - (and (P x0) (Q x0)) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I A - (λ - ( - x1 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P x1) - (λ - ( - __0 : cupicef.Term cupicef.prop - (P x1) - ), Q x1))) - (λ - (HPx0 : cupicef.Term cupicef.prop (P x0)), - λ - (HQx0 : cupicef.Term cupicef.prop (Q x0) - ), - λ - ( - x1 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - HPx1 : cupicef.Term cupicef.prop - (P x1) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x0 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x0 y) - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P y) - (λ - ( - HPx2 : cupicef.Term - cupicef.prop ( - P y) - ), Q y)) - (λ - ( - HPx2 : cupicef.Term cupicef.prop - (P x0) - ), HQx0) - x1 - (let__H A P H x H0 Hp Huniq Q H1 x0 - H2 HPx0 HQx0 x1 HPx1) - HPx1) - H2) - H1)) - H0) - H; -symbol let__i - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - H : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( - P x) (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) - (ex A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - and (P x) (P x)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), H P; -symbol let__i0 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - H : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), - Π - ( - H0 : Π - ( - __ : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - ), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), - Π (Hx : cupicef.Term cupicef.prop (P x)), - Π (__tmp : cupicef.Term cupicef.prop (P x)), - Π - ( - __tmp0 : Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (P x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__0 : cupicef.Term cupicef.prop (P x0)), - cupicef.Term cupicef.prop (P x0) - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ (__ : cupicef.Term cupicef.prop (P x0)), - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0))) - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - and (P x0) - ((λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0)))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), - λ - ( - H0 : Π - ( - __ : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - ), - λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), - λ (Hx : cupicef.Term cupicef.prop (P x)), - λ (__tmp : cupicef.Term cupicef.prop (P x)), - λ - ( - __tmp0 : Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (P x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __0 : cupicef.Term cupicef.prop (P x0) - ), cupicef.Term cupicef.prop (P x0) - ), - H - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_); -opaque symbol forall__exists__coincide__unique__domain - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - __ : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), - cupicef.Term cupicef.prop - (ex A - (unique A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x))) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : Π - ( - Q : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - cupicef.Term cupicef.prop - (iff - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__ : cupicef.Term cupicef.prop (P x)), Q x))) - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (Q x)))) - ), - match____and cupicef.prop - (cupicef.prod - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I ( - P x) (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) - (λ - ( - __ : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - ex A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x) (P x)))) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (P x) (λ (__0 : cupicef.Term cupicef.prop (P x)), P x)))) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x) - (λ (__ : cupicef.Term cupicef.prop (P x)), P x))) - (λ - ( - __ : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x)))) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x) (P x))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x) - (λ (__0 : cupicef.Term cupicef.prop (P x)), P x))))) - ), - ex A - (unique A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x))) - (λ - ( - H0 : Π - ( - __ : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__ : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - ), - match____ex cupicef.prop A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x)) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - ), - cupicef.prod - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.prop - (cupicef.{|rule|} (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x) (P x))) - (λ - ( - __0 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), and (P x) (P x))) - ), - cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x) - (λ (__1 : cupicef.Term cupicef.prop (P x)), P x)))) - (λ - ( - __0 : Π - ( - __0 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x) (P x))) - ), - Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (__1 : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop (P x) - ), - ex A - (unique A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)))) - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ (H1 : cupicef.Term cupicef.prop (and (P x) (P x))), - match____and cupicef.prop (P x) (P x) - (λ (__ : cupicef.Term cupicef.prop (and (P x) (P x))), - cupicef.prod - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), and (P x0) (P x0))) - (λ - ( - __0 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (P x0))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ (__1 : cupicef.Term cupicef.prop (P x0)), - P x0)))) - (λ - ( - __0 : Π - ( - __0 : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (P x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - (__1 : cupicef.Term cupicef.prop (P x0) - ), cupicef.Term cupicef.prop (P x0) - ), - ex A - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x0)))) - (λ (Hx : cupicef.Term cupicef.prop (P x)), - λ (__tmp : cupicef.Term cupicef.prop (P x)), - λ - ( - __tmp0 : Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), and (P x0) (P x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (P x0) - ), cupicef.Term cupicef.prop (P x0) - ), - ex__intro A - (unique A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x0)) - x - (conj (P x) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x_27_) - (λ - (__ : cupicef.Term cupicef.prop (P x_27_)), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))) - Hx - (match____and cupicef.prop - (cupicef.prod - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I (P x0) - (λ - (__ : cupicef.Term cupicef.prop (P x0)), - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0))) - (λ - ( - __ : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term cupicef.prop - (P x0) - ), - cupicef.Term cupicef.prop - ((λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0) - ), - ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - ((λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0)))) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - ((λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - ((λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P x0) - (λ - ( - __0 : cupicef.Term cupicef.prop (P x0) - ), - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_) - x0)))) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.prop - (cupicef.{|rule|} - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P x0) - (λ - ( - __ : cupicef.Term cupicef.prop - (P x0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))) - (λ - ( - __ : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term - cupicef.prop ( - P x0) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0) - ), - ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0)))) - (cupicef.prod cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - (cupicef.{|rule|} cupicef.prop - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop))) - cupicef.I - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))) - ), - cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop - cupicef.prop)) - cupicef.I A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop - cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P x0) - (λ - ( - __0 : cupicef.Term - cupicef.prop (P x0) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))))) - ), - cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} cupicef.prop cupicef.prop)) - cupicef.I A - (λ - ( - x_27_ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop - cupicef.prop) - cupicef.I (P x_27_) - (λ - ( - __0 : cupicef.Term cupicef.prop - (P x_27_) - ), - eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x_27_))) - (λ - ( - __tmp1 : Π - ( - __ : Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term - cupicef.prop ( - P x0) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0) - ), - cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))) - ), - λ - ( - Huniq : Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s - cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s - cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0))) - ), - Π - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - Π - ( - __0 : cupicef.Term - cupicef.prop (P x0) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0) - ), - Huniq - (ex__intro A - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - and (P x0) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x0)) - x - (conj (P x) - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x x) - Hx - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)))) - (let__i0 A P H H0 x H1 Hx __tmp __tmp0)))) - H1) - (H0 - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), λ (H1 : cupicef.Term cupicef.prop (P x)), H1))) - (let__i A P H); -symbol inhabited - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - cupicef.Univ cupicef.prop; -symbol inhabits - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Term cupicef.prop (inhabited A); -rule cupicef.code_guarded? _ (inhabits _ _) ↪ cupicef.guarded; -symbol match____inhabited - : Π (s : cupicef.Sort), - Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (P : cupicef.Term cupicef.prop (inhabited A) → cupicef.Univ s), - Π - ( - case__inhabits : Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Term s (P (inhabits A __)) - ), - Π (x : cupicef.Term cupicef.prop (inhabited A)), - cupicef.Term s (P x); -rule match____inhabited $s $A $P $case__inhabits (inhabits $A $__) ↪ -$case__inhabits $__; -rule match____inhabited $s $A - (λ x, cupicef.uncode $_.[] (cupicef.code (cupicef.cU $s'.[]) $P.[x])) ↪ -match____inhabited $s' $A (λ x, $P.[x]); -symbol inhabited__ind - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (P : cupicef.Univ cupicef.prop), - Π - ( - f : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term cupicef.prop P - ), - Π (i : cupicef.Term cupicef.prop (inhabited A)), - cupicef.Term cupicef.prop P - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (P : cupicef.Univ cupicef.prop), - λ - ( - f : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Term cupicef.prop P - ), - λ (i : cupicef.Term cupicef.prop (inhabited A)), - match____inhabited cupicef.prop A - (λ (__ : cupicef.Term cupicef.prop (inhabited A)), P) f i; -opaque symbol exists__inhabited - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x)) - ), cupicef.Term cupicef.prop (inhabited A) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - H : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), P x)) - ), - match____ex cupicef.prop A - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - P x) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex A - (λ - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), P x)) - ), inhabited A) - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (H0 : cupicef.Term cupicef.prop (P x)), inhabits A x) - H; -opaque symbol inhabited__covariant - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - __ : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - Π (__0 : cupicef.Term cupicef.prop (inhabited A)), - cupicef.Term cupicef.prop (inhabited B) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (B : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - f : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) B - ), - λ (H : cupicef.Term cupicef.prop (inhabited A)), - match____inhabited cupicef.prop A - (λ (__ : cupicef.Term cupicef.prop (inhabited A)), inhabited B) - (λ - (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), inhabits B (f x)) - H; -opaque symbol eq__stepl - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - Π - ( - __0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z y) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (z : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - H1 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - λ - ( - H2 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x z) - ), - eq__ind - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - z0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - eq - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - z0 y) - H1 z H2; -opaque symbol iff__stepl - : Π (A : cupicef.Univ cupicef.prop), - Π (B : cupicef.Univ cupicef.prop), - Π (C : cupicef.Univ cupicef.prop), - Π (__ : cupicef.Term cupicef.prop (iff A B)), - Π (__0 : cupicef.Term cupicef.prop (iff A C)), - cupicef.Term cupicef.prop (iff C B) - ≔ λ (A : cupicef.Univ cupicef.prop), - λ (B : cupicef.Univ cupicef.prop), - λ (C : cupicef.Univ cupicef.prop), - λ (H : cupicef.Term cupicef.prop (iff A B)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), A))) - ), - cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - (iff A C) - (λ (__0 : cupicef.Term cupicef.prop (iff A C)), iff C B)) - (λ - ( - H0 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop B - ), - λ - ( - H1 : Π (__ : cupicef.Term cupicef.prop B), - cupicef.Term cupicef.prop A - ), - λ (H2 : cupicef.Term cupicef.prop (iff A C)), - match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - A (λ (__ : cupicef.Term cupicef.prop A), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) cupicef.I - C (λ (__ : cupicef.Term cupicef.prop C), A)) - (λ - ( - __ : cupicef.Term cupicef.prop - (and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I A - (λ (__ : cupicef.Term cupicef.prop A), C)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), A))) - ), iff C B) - (λ - ( - H3 : Π (__ : cupicef.Term cupicef.prop A), - cupicef.Term cupicef.prop C - ), - λ - ( - H4 : Π (__ : cupicef.Term cupicef.prop C), - cupicef.Term cupicef.prop A - ), - conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I C - (λ (__ : cupicef.Term cupicef.prop C), B)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.{|rule|} cupicef.prop cupicef.prop) - cupicef.I B - (λ (__ : cupicef.Term cupicef.prop B), C)) - (λ (H5 : cupicef.Term cupicef.prop C), - H0 (H1 (H0 (H4 H5)))) - (λ (H5 : cupicef.Term cupicef.prop B), H3 (H1 H5))) - H2) - H; -opaque symbol eq__ex__uncurried - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π - ( - pq : cupicef.Term cupicef.prop - (ex - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2)) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) (ex__intro A P v1 v2)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ - ( - pq : cupicef.Term cupicef.prop - (ex - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2)) - ), - match____ex cupicef.prop - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2)) - ), - eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) (ex__intro A P v1 v2)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - λ - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - (λ (y : cupicef.Term cupicef.prop (P v1)), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - y) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) (ex__intro A P v1 y)) - (cupicef.cast cupicef.prop cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) - (ex__intro A P v1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p))) - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) - (ex__intro A P v1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p))) - cupicef.I - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 y) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) - (ex__intro A P y - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 y e))) - (eq__refl - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 u1 - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1)))) - v1 p)) - v2 q) - pq; -symbol eq__ex - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - Π - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) (ex__intro A P v1 v2)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - λ - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - eq__ex__uncurried A P u1 v1 u2 v2 - (ex__intro - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p0) - v2) - p q); -symbol eq__ex__hprop - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - P__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (P x)), - Π (q : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - p q) - ), - Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex A P)) - (ex__intro A P u1 u2) (ex__intro A P v1 v2)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - P__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (P x)), - Π (q : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - p q) - ), - λ - (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq__ex A P u1 v1 u2 v2 p - (P__hprop v1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2); -opaque symbol rew__ex - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π - ( - Q : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) (P a) - ), cupicef.Univ cupicef.prop - ), - Π - ( - u : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) (P x) - ), Q x p)) - ), - Π - (y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex (P y) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P y) - ), Q y p))) - (eq__rect - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - ex (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P a) - ), Q a p))) - u y H) - (match____ex cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p)) - ), - ex (P y) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P y) - ), Q y p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - ex__intro (P y) (Q y) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 y H) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - Q a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u2 y H)) - u)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - P : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ - ( - Q : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P a) - ), cupicef.Univ cupicef.prop - ), - λ - ( - u : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p)) - ), - λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex (P y0) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), Q y0 p))) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - ex (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), Q a p))) - u y0 e) - (match____ex cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), Q x p)) - ), - ex (P y0) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), Q y0 p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - ex__intro (P y0) (Q y0) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 y0 e) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - Q a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u2 y0 e)) - u)) - (match____ex cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - e : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p)) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p))) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - ex (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), Q a p))) - e x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - (match____ex cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), Q x p)) - ), - ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - ex__intro (P x) (Q x) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - u2) - e)) - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), - λ (q : cupicef.Term cupicef.prop (Q x x0)), - eq__refl - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p))) - (ex__intro (P x) (Q x) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P x0 x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - q)) - u) - y H; -opaque symbol eq__ex2__uncurried - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π (u3 : cupicef.Term cupicef.prop (Q u1)), - Π (v3 : cupicef.Term cupicef.prop (Q v1)), - Π - ( - pq : cupicef.Term cupicef.prop - (ex2 - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3)) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 v2 v3)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - Q : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - λ - (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ (u3 : cupicef.Term cupicef.prop (Q u1)), - λ (v3 : cupicef.Term cupicef.prop (Q v1)), - λ - ( - pq : cupicef.Term cupicef.prop - (ex2 - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3)) - ), - match____ex2 cupicef.prop - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3) - (λ - ( - __ : cupicef.Term cupicef.prop - (ex2 - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3)) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 v2 v3)) - (λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - λ - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - λ - ( - r : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - (λ (y : cupicef.Term cupicef.prop (Q v1)), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - y) - ), - eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 v2 y)) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - (λ (y : cupicef.Term cupicef.prop (P v1)), - λ - ( - __ : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - y) - ), - eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 y - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __0 : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p))) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (λ - ( - y : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 y) - ), - eq - (cupicef.cast - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q y - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 y e) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 y e))) - (cupicef.cast cupicef.prop cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q u1 u2 u3)) - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q u1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 u1 - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 u1 - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1)))) - cupicef.I - (eq__refl - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3))) - v1 p) - v2 q) - v3 r) - pq; -symbol eq__ex2 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π (u3 : cupicef.Term cupicef.prop (Q u1)), - Π (v3 : cupicef.Term cupicef.prop (Q v1)), - Π - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - Π - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - Π - ( - r : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 v2 v3)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - Q : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - λ - (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - (v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ (u3 : cupicef.Term cupicef.prop (Q u1)), - λ (v3 : cupicef.Term cupicef.prop (Q v1)), - λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - λ - ( - q : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - ), - λ - ( - r : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3) - ), - eq__ex2__uncurried A P Q u1 v1 u2 v2 u3 v3 - (ex__intro2 - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1)) - (λ - ( - p0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p0) - v2) - (λ - ( - p0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q v1)) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} - (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p0) - v3) - p q r); -symbol eq__ex2__hprop - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - cupicef.Univ cupicef.prop - ), - Π - ( - Q : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - Π - ( - P__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (P x)), - Π (q : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - p q) - ), - Π - ( - Q__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (Q x)), - Π (q : cupicef.Term cupicef.prop (Q x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q x)) - p q) - ), - Π - (u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - v1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π (u2 : cupicef.Term cupicef.prop (P u1)), - Π (v2 : cupicef.Term cupicef.prop (P v1)), - Π (u3 : cupicef.Term cupicef.prop (Q u1)), - Π (v3 : cupicef.Term cupicef.prop (Q v1)), - Π - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (ex2 A P Q)) - (ex__intro2 A P Q u1 u2 u3) - (ex__intro2 A P Q v1 v2 v3)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ cupicef.prop - ), - λ - ( - Q : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ cupicef.prop - ), - λ - ( - P__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (P x)), - Π (q : cupicef.Term cupicef.prop (P x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (P x)) - p q) - ), - λ - ( - Q__hprop : Π - ( - x : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π (p : cupicef.Term cupicef.prop (Q x)), - Π (q : cupicef.Term cupicef.prop (Q x)), - cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I (Q x)) - p q) - ), - λ - ( - u1 : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - v1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ (u2 : cupicef.Term cupicef.prop (P u1)), - λ (v2 : cupicef.Term cupicef.prop (P v1)), - λ (u3 : cupicef.Term cupicef.prop (Q u1)), - λ (v3 : cupicef.Term cupicef.prop (Q v1)), - λ - ( - p : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 v1) - ), - eq__ex2 A P Q u1 v1 u2 v2 u3 v3 p - (P__hprop v1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I P) - u2 v1 p) - v2) - (Q__hprop v1 - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - u1 - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I Q) - u3 v1 p) - v3); -opaque symbol rew__ex2 - : Π (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - Π (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - Π - ( - P : Π - (__ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - Π - ( - Q : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) (P a) - ), cupicef.Univ cupicef.prop - ), - Π - ( - R : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P a) - ), cupicef.Univ cupicef.prop - ), - Π - ( - u : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), R x p)) - ), - Π - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - cupicef.Term cupicef.prop - (eq - (cupicef.cast (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex2 (P y) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P y) - ), Q y p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P y) - ), R y p))) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) cupicef.I)) - (cupicef.prod (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - ex2 (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), Q a p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), R a p))) - u y H) - (match____ex2 cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), R x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p)) - ), - ex2 (P y) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y) - ), Q y p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y) - ), R y p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - λ (u3 : cupicef.Term cupicef.prop (R x u1)), - ex__intro2 (P y) (Q y) (R y) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 y H) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - Q a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u2 y H) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - R a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u3 y H)) - u)) - ≔ λ (A : cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z))), - λ (x : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) A), - λ - ( - P : Π - ( - __ : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), cupicef.Univ (cupicef.{|type|} (cupicef.s cupicef.z)) - ), - λ - ( - Q : Π - ( - a : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P a) - ), cupicef.Univ cupicef.prop - ), - λ - ( - R : Π - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - Π - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P a) - ), cupicef.Univ cupicef.prop - ), - λ - ( - u : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), R x p)) - ), - λ - ( - y : cupicef.Term (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - λ - ( - H : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y) - ), - match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - y0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - λ - ( - e : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x y0) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex2 (P y0) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), Q y0 p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), R y0 p))) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - ex2 (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P a) - ), Q a p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P a) - ), R a p))) - u y0 e) - (match____ex2 cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), R x p)) - ), - ex2 (P y0) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), Q y0 p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P y0) - ), R y0 p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - λ - (u3 : cupicef.Term cupicef.prop (R x u1)), - ex__intro2 (P y0) (Q y0) (R y0) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 y0 e) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - Q a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u2 y0 e) - (match____eq cupicef.prop - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (λ - ( - a : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - A - ), - λ - ( - x0 : cupicef.Term cupicef.prop - (eq - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x a) - ), - R a - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 a x0)) - u3 y0 e)) - u)) - (match____ex2 cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), R x p) - (λ - ( - e : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p)) - ), - eq - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p))) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x - (cupicef.cast - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I A - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I)) - (cupicef.prod - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.{|rule|} - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z)))) - cupicef.I A - (λ - ( - __ : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - A - ), - cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I)) - cupicef.I - (λ - ( - a : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) A - ), - ex2 (P a) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), Q a p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P a) - ), R a p))) - e x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - (match____ex2 cupicef.prop (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p) - (λ - ( - u0 : cupicef.Term cupicef.prop - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), R x p)) - ), - ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), R x p)) - (λ - ( - u1 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) - (P x) - ), - λ (u2 : cupicef.Term cupicef.prop (Q x u1)), - λ (u3 : cupicef.Term cupicef.prop (R x u1)), - ex__intro2 (P x) (Q x) (R x) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P u1 x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - u2 u3) - e)) - (λ - ( - x0 : cupicef.Term - (cupicef.{|type|} (cupicef.s cupicef.z)) ( - P x) - ), - λ (q : cupicef.Term cupicef.prop (Q x x0)), - λ (r : cupicef.Term cupicef.prop (R x x0)), - eq__refl - (cupicef.cast - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.prop - (cupicef.{|type|} (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (ex2 (P x) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), Q x p) - (λ - ( - p : cupicef.Term - (cupicef.{|type|} - (cupicef.s cupicef.z)) - (P x) - ), R x p))) - (ex__intro2 (P x) (Q x) (R x) - (eq__rect - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x P x0 x - (eq__refl - (cupicef.cast - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ - (cupicef.{|type|} (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.{|type|} (cupicef.s cupicef.z))) - cupicef.I) - (cupicef.univ - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.{|type|} - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I A) - x)) - q r)) - u) - y H; diff --git a/out/add_requires.sh b/out/add_requires.sh new file mode 100755 index 000000000..bdabc750e --- /dev/null +++ b/out/add_requires.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +dk dep $@ | cut -d ":" -f 2 | sed "s/ /\n/g" | grep ".dko$" | sed "s/\(.*\)\.dko$/require coq.\\1 as \\1;/g" diff --git a/out/compile.sh b/out/compile.sh index 1c6eaca5c..cc73bba84 100755 --- a/out/compile.sh +++ b/out/compile.sh @@ -1,9 +1,20 @@ #!/bin/sh -set -e -set -x - -export PATH=$PWD/_build/install/default/bin:$PATH -cd out -lambdapi check --lib-root . -c coq/cupicef.lp -lambdapi check --lib-root . -c Coq__Init__Logic.lp -lambdapi check --lib-root . -c Coq__Init__Datatypes.dk \ No newline at end of file +#set -e +#set -x + +#export PATH=$PWD/_build/install/default/bin:$PATH + +# add the exports +mkdir tmp +for i in *.dk; do cat $i | sed "s/^#.*$//g" > tmp/$i; done +touch tmp/cupicef.dk +(cd tmp; for i in *.dk; do ../add_requires.sh $i > $i.imports ; done) + +cp cupicef.lp.handmade cupicef.lp + +for i in *.dk; do cat header tmp/$i.imports > `basename $i .dk`.lp && lambdapi export -o lp $i >> `basename $i .dk`.lp ; done +lambdapi check -c cupicef.lp +lambdapi check -c Coq__Init__Logic.lp +lambdapi check -c Coq__Init__Datatypes.lp + +rm -rf tmp diff --git a/out/coq/cupicef.lp b/out/cupicef.lp.handmade similarity index 94% rename from out/coq/cupicef.lp rename to out/cupicef.lp.handmade index 42d29c894..35d5d7ace 100644 --- a/out/coq/cupicef.lp +++ b/out/cupicef.lp.handmade @@ -13,6 +13,7 @@ symbol Eq : Sort → Sort → Bool; rule Eq $x $x ↪ true; associative commutative symbol and : Bool → Bool → Bool; rule and true $c ↪ $c; +rule and $c true ↪ $c; symbol BoolO : TYPE; constant symbol BoolNone : BoolO; constant symbol BoolSome : Bool → BoolO; @@ -120,13 +121,23 @@ with max $i (s (max $i $j)) ↪ s (max $i $j) with max (max $i $k) (s (max $i $j)) ↪ max $k (s (max $i $j)); rule max z $i ↪ $i; -rule s (max $i $j) ↪ max (s $i) (s $j); -rule max $i $i ↪ $i -with max (max $i $j) $i ↪ max $i $j +rule max (max $i $j) $i ↪ max $i $j +with max (max $j $i) $i ↪ max $i $j +with max $i (max $j $i) ↪ max $i $j with max (s $i) $i ↪ s $i with max (max (s $i) $j) $i ↪ max (s $i) $j +with max (max $j (s $i)) $i ↪ max (s $i) $j +with max $i (max $j (s $i)) ↪ max (s $i) $j +with max $i (s (max $j $i)) ↪ s (max $i $j) with max (s (max $i $j)) $i ↪ s (max $i $j) -with max (s (max $i $j)) (max $i $k) ↪ max $k (s (max $i $j)); +with max (s (max $j $i)) $i ↪ s (max $i $j) +with max (max $k $i) (s (max $i $j)) ↪ max $k (s (max $i $j)) +with max (max $k $i) (s (max $j $i)) ↪ max $k (s (max $i $j)) +with max (max $i $k) (s (max $j $i)) ↪ max $k (s (max $i $j)) +with max (s (max $i $j)) (max $i $k) ↪ max $k (s (max $i $j)) +with max (s (max $i $j)) (max $k $i) ↪ max $k (s (max $i $j)) +with max (s (max $j $i)) (max $i $k) ↪ max $k (s (max $i $j)) +with max (s (max $j $i)) (max $k $i) ↪ max $k (s (max $i $j)); rule sup prop $s ↪ $s with sup $s prop ↪ $s @@ -138,7 +149,9 @@ with Leq (max $i $j) $k ↪ and (Leq $i $k) (Leq $j $k) with Leq $i $i ↪ true with Leq $i (s $i) ↪ true with Leq $i (max $i $j) ↪ true -with Leq $i (max (s $i) $j) ↪ true; +with Leq $i (max $j $i) ↪ true +with Leq $i (max (s $i) $j) ↪ true +with Leq $i (max $j (s $i)) ↪ true; rule Axiom prop ({|type|} _) ↪ true with Axiom ({|type|} $i) ({|type|} $j) ↪ Leq $i $j; rule Rule _ prop prop ↪ true diff --git a/out/header b/out/header new file mode 100644 index 000000000..d390112cb --- /dev/null +++ b/out/header @@ -0,0 +1 @@ +flag "eta_equality" on; diff --git a/out/lambdapi.pkg b/out/lambdapi.pkg new file mode 100644 index 000000000..798df43c1 --- /dev/null +++ b/out/lambdapi.pkg @@ -0,0 +1,2 @@ +package_name=coq +root_path=coq From dc51dfe02e640fd69fe1c317103acfb731041e1e Mon Sep 17 00:00:00 2001 From: Claudio Sacerdoti Coen Date: Fri, 27 Jan 2023 17:36:06 +0100 Subject: [PATCH 06/25] zip everything --- out/Coq__Arith__Arith__base.dk | 4 - out/Coq__Arith__Arith__base.dk.gz | Bin 0 -> 150 bytes out/Coq__Arith__Between.dk | 2513 - out/Coq__Arith__Between.dk.gz | Bin 0 -> 7657 bytes out/Coq__Arith__Compare__dec.dk | 5066 -- out/Coq__Arith__Compare__dec.dk.gz | Bin 0 -> 9883 bytes out/Coq__Arith__EqNat.dk | 2688 - out/Coq__Arith__EqNat.dk.gz | Bin 0 -> 5081 bytes out/Coq__Arith__Factorial.dk | 342 - out/Coq__Arith__Factorial.dk.gz | Bin 0 -> 1408 bytes out/Coq__Arith__Gt.dk | 1422 - out/Coq__Arith__Gt.dk.gz | Bin 0 -> 2832 bytes out/Coq__Arith__Le.dk | 319 - out/Coq__Arith__Le.dk.gz | Bin 0 -> 1270 bytes out/Coq__Arith__Lt.dk | 1835 - out/Coq__Arith__Lt.dk.gz | Bin 0 -> 3218 bytes out/Coq__Arith__Minus.dk | 796 - out/Coq__Arith__Minus.dk.gz | Bin 0 -> 2150 bytes out/Coq__Arith__Mult.dk | 2942 - out/Coq__Arith__Mult.dk.gz | Bin 0 -> 6199 bytes out/Coq__Arith__PeanoNat.dk | 0 out/Coq__Arith__PeanoNat.dk.gz | Bin 0 -> 3481760 bytes out/Coq__Arith__Peano__dec.dk | 6849 --- out/Coq__Arith__Peano__dec.dk.gz | Bin 0 -> 11656 bytes out/Coq__Arith__Plus.dk | 2831 - out/Coq__Arith__Plus.dk.gz | Bin 0 -> 5107 bytes out/Coq__Arith__Wf__nat.dk | 3746 -- out/Coq__Arith__Wf__nat.dk.gz | Bin 0 -> 9647 bytes out/Coq__Bool__Bool.dk | 48232 ---------------- out/Coq__Bool__Bool.dk.gz | Bin 0 -> 64299 bytes out/Coq__Bool__BoolEq.dk | 1120 - out/Coq__Bool__BoolEq.dk.gz | Bin 0 -> 2322 bytes out/Coq__Bool__DecBool.dk | 216 - out/Coq__Bool__DecBool.dk.gz | Bin 0 -> 796 bytes out/Coq__Bool__IfProp.dk | 1245 - out/Coq__Bool__IfProp.dk.gz | Bin 0 -> 2588 bytes out/Coq__Classes__CMorphisms.dk | 29593 ---------- out/Coq__Classes__CMorphisms.dk.gz | Bin 0 -> 78290 bytes out/Coq__Classes__CRelationClasses.dk | 11122 ---- out/Coq__Classes__CRelationClasses.dk.gz | Bin 0 -> 22842 bytes out/Coq__Classes__Equivalence.dk | 5430 -- out/Coq__Classes__Equivalence.dk.gz | Bin 0 -> 10754 bytes out/Coq__Classes__Init.dk | 30 - out/Coq__Classes__Init.dk.gz | Bin 0 -> 315 bytes out/Coq__Classes__Morphisms.dk | 20641 ------- out/Coq__Classes__Morphisms.dk.gz | Bin 0 -> 41566 bytes out/Coq__Classes__Morphisms__Prop.dk | 5654 -- out/Coq__Classes__Morphisms__Prop.dk.gz | Bin 0 -> 10847 bytes out/Coq__Classes__RelationClasses.dk | 17089 ------ out/Coq__Classes__RelationClasses.dk.gz | Bin 0 -> 36587 bytes out/Coq__Classes__SetoidTactics.dk | 98 - out/Coq__Classes__SetoidTactics.dk.gz | Bin 0 -> 605 bytes out/Coq__Init__Datatypes.dk | 9565 --- out/Coq__Init__Datatypes.dk.gz | Bin 0 -> 17553 bytes out/Coq__Init__Decimal.dk | 816 - out/Coq__Init__Decimal.dk.gz | Bin 0 -> 2261 bytes out/Coq__Init__Logic.dk | 20144 ------- out/Coq__Init__Logic.dk.gz | Bin 0 -> 39625 bytes out/Coq__Init__Logic__Type.dk | 398 - out/Coq__Init__Logic__Type.dk.gz | Bin 0 -> 1278 bytes out/Coq__Init__Nat.dk | 1457 - out/Coq__Init__Nat.dk.gz | Bin 0 -> 3310 bytes out/Coq__Init__Notations.dk | 4 - out/Coq__Init__Notations.dk.gz | Bin 0 -> 147 bytes out/Coq__Init__Peano.dk | 5988 -- out/Coq__Init__Peano.dk.gz | Bin 0 -> 12070 bytes out/Coq__Init__Prelude.dk | 4 - out/Coq__Init__Prelude.dk.gz | Bin 0 -> 145 bytes out/Coq__Init__Specif.dk | 48062 --------------- out/Coq__Init__Specif.dk.gz | Bin 0 -> 82376 bytes out/Coq__Init__Tactics.dk | 87 - out/Coq__Init__Tactics.dk.gz | Bin 0 -> 495 bytes out/Coq__Init__Tauto.dk | 4 - out/Coq__Init__Tauto.dk.gz | Bin 0 -> 143 bytes out/Coq__Init__Wf.dk | 1621 - out/Coq__Init__Wf.dk.gz | Bin 0 -> 3811 bytes out/Coq__Logic__Decidable.dk | 9614 --- out/Coq__Logic__Decidable.dk.gz | Bin 0 -> 14731 bytes out/Coq__Logic__EqdepFacts.dk | 12316 ---- out/Coq__Logic__EqdepFacts.dk.gz | Bin 0 -> 23873 bytes out/Coq__Logic__Eqdep__dec.dk | 13414 ----- out/Coq__Logic__Eqdep__dec.dk.gz | Bin 0 -> 22268 bytes out/Coq__Logic__ProofIrrelevanceFacts.dk | 4 - out/Coq__Logic__ProofIrrelevanceFacts.dk.gz | Bin 0 -> 160 bytes out/Coq__Numbers__NatInt__NZAdd.dk | 4 - out/Coq__Numbers__NatInt__NZAdd.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZAddOrder.dk | 4 - out/Coq__Numbers__NatInt__NZAddOrder.dk.gz | Bin 0 -> 159 bytes out/Coq__Numbers__NatInt__NZAxioms.dk | 4 - out/Coq__Numbers__NatInt__NZAxioms.dk.gz | Bin 0 -> 157 bytes out/Coq__Numbers__NatInt__NZBase.dk | 4 - out/Coq__Numbers__NatInt__NZBase.dk.gz | Bin 0 -> 155 bytes out/Coq__Numbers__NatInt__NZBits.dk | 4 - out/Coq__Numbers__NatInt__NZBits.dk.gz | Bin 0 -> 155 bytes out/Coq__Numbers__NatInt__NZDiv.dk | 4 - out/Coq__Numbers__NatInt__NZDiv.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZGcd.dk | 4 - out/Coq__Numbers__NatInt__NZGcd.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZLog.dk | 4 - out/Coq__Numbers__NatInt__NZLog.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZMul.dk | 4 - out/Coq__Numbers__NatInt__NZMul.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZMulOrder.dk | 4 - out/Coq__Numbers__NatInt__NZMulOrder.dk.gz | Bin 0 -> 159 bytes out/Coq__Numbers__NatInt__NZOrder.dk | 4 - out/Coq__Numbers__NatInt__NZOrder.dk.gz | Bin 0 -> 156 bytes out/Coq__Numbers__NatInt__NZParity.dk | 4 - out/Coq__Numbers__NatInt__NZParity.dk.gz | Bin 0 -> 157 bytes out/Coq__Numbers__NatInt__NZPow.dk | 4 - out/Coq__Numbers__NatInt__NZPow.dk.gz | Bin 0 -> 154 bytes out/Coq__Numbers__NatInt__NZProperties.dk | 4 - out/Coq__Numbers__NatInt__NZProperties.dk.gz | Bin 0 -> 161 bytes out/Coq__Numbers__NatInt__NZSqrt.dk | 4 - out/Coq__Numbers__NatInt__NZSqrt.dk.gz | Bin 0 -> 155 bytes out/Coq__Numbers__Natural__Abstract__NAdd.dk | 4 - ...oq__Numbers__Natural__Abstract__NAdd.dk.gz | Bin 0 -> 164 bytes ...__Numbers__Natural__Abstract__NAddOrder.dk | 4 - ...umbers__Natural__Abstract__NAddOrder.dk.gz | Bin 0 -> 169 bytes ...oq__Numbers__Natural__Abstract__NAxioms.dk | 4 - ..._Numbers__Natural__Abstract__NAxioms.dk.gz | Bin 0 -> 167 bytes out/Coq__Numbers__Natural__Abstract__NBase.dk | 4 - ...q__Numbers__Natural__Abstract__NBase.dk.gz | Bin 0 -> 165 bytes out/Coq__Numbers__Natural__Abstract__NBits.dk | 4 - ...q__Numbers__Natural__Abstract__NBits.dk.gz | Bin 0 -> 165 bytes out/Coq__Numbers__Natural__Abstract__NDiv.dk | 4 - ...oq__Numbers__Natural__Abstract__NDiv.dk.gz | Bin 0 -> 164 bytes out/Coq__Numbers__Natural__Abstract__NGcd.dk | 4 - ...oq__Numbers__Natural__Abstract__NGcd.dk.gz | Bin 0 -> 164 bytes out/Coq__Numbers__Natural__Abstract__NLcm.dk | 4 - ...oq__Numbers__Natural__Abstract__NLcm.dk.gz | Bin 0 -> 164 bytes out/Coq__Numbers__Natural__Abstract__NLog.dk | 4 - ...oq__Numbers__Natural__Abstract__NLog.dk.gz | Bin 0 -> 164 bytes ...oq__Numbers__Natural__Abstract__NMaxMin.dk | 4 - ..._Numbers__Natural__Abstract__NMaxMin.dk.gz | Bin 0 -> 167 bytes ...__Numbers__Natural__Abstract__NMulOrder.dk | 4 - ...umbers__Natural__Abstract__NMulOrder.dk.gz | Bin 0 -> 169 bytes ...Coq__Numbers__Natural__Abstract__NOrder.dk | 4 - ...__Numbers__Natural__Abstract__NOrder.dk.gz | Bin 0 -> 166 bytes ...oq__Numbers__Natural__Abstract__NParity.dk | 4 - ..._Numbers__Natural__Abstract__NParity.dk.gz | Bin 0 -> 167 bytes out/Coq__Numbers__Natural__Abstract__NPow.dk | 4 - ...oq__Numbers__Natural__Abstract__NPow.dk.gz | Bin 0 -> 164 bytes ...Numbers__Natural__Abstract__NProperties.dk | 4 - ...bers__Natural__Abstract__NProperties.dk.gz | Bin 0 -> 171 bytes out/Coq__Numbers__Natural__Abstract__NSqrt.dk | 4 - ...q__Numbers__Natural__Abstract__NSqrt.dk.gz | Bin 0 -> 165 bytes out/Coq__Numbers__Natural__Abstract__NSub.dk | 4 - ...oq__Numbers__Natural__Abstract__NSub.dk.gz | Bin 0 -> 164 bytes out/Coq__Numbers__NumPrelude.dk | 4 - out/Coq__Numbers__NumPrelude.dk.gz | Bin 0 -> 151 bytes out/Coq__Program__Basics.dk | 109 - out/Coq__Program__Basics.dk.gz | Bin 0 -> 491 bytes out/Coq__Program__Tactics.dk | 22 - out/Coq__Program__Tactics.dk.gz | Bin 0 -> 238 bytes out/Coq__Relations__Operators__Properties.dk | 2889 - ...oq__Relations__Operators__Properties.dk.gz | Bin 0 -> 6238 bytes out/Coq__Relations__Relation__Definitions.dk | 804 - ...oq__Relations__Relation__Definitions.dk.gz | Bin 0 -> 1963 bytes out/Coq__Relations__Relation__Operators.dk | 4526 -- out/Coq__Relations__Relation__Operators.dk.gz | Bin 0 -> 9348 bytes out/Coq__Relations__Relations.dk | 898 - out/Coq__Relations__Relations.dk.gz | Bin 0 -> 2295 bytes out/Coq__Setoids__Setoid.dk | 513 - out/Coq__Setoids__Setoid.dk.gz | Bin 0 -> 1589 bytes out/Coq__Structures__Equalities.dk | 4 - out/Coq__Structures__Equalities.dk.gz | Bin 0 -> 154 bytes out/Coq__Structures__GenericMinMax.dk | 48 - out/Coq__Structures__GenericMinMax.dk.gz | Bin 0 -> 360 bytes out/Coq__Structures__Orders.dk | 4 - out/Coq__Structures__Orders.dk.gz | Bin 0 -> 150 bytes out/Coq__Structures__OrdersFacts.dk | 4 - out/Coq__Structures__OrdersFacts.dk.gz | Bin 0 -> 155 bytes out/Coq__Structures__OrdersTac.dk | 131 - out/Coq__Structures__OrdersTac.dk.gz | Bin 0 -> 775 bytes 174 files changed, 305405 deletions(-) delete mode 100644 out/Coq__Arith__Arith__base.dk create mode 100644 out/Coq__Arith__Arith__base.dk.gz delete mode 100644 out/Coq__Arith__Between.dk create mode 100644 out/Coq__Arith__Between.dk.gz delete mode 100644 out/Coq__Arith__Compare__dec.dk create mode 100644 out/Coq__Arith__Compare__dec.dk.gz delete mode 100644 out/Coq__Arith__EqNat.dk create mode 100644 out/Coq__Arith__EqNat.dk.gz delete mode 100644 out/Coq__Arith__Factorial.dk create mode 100644 out/Coq__Arith__Factorial.dk.gz delete mode 100644 out/Coq__Arith__Gt.dk create mode 100644 out/Coq__Arith__Gt.dk.gz delete mode 100644 out/Coq__Arith__Le.dk create mode 100644 out/Coq__Arith__Le.dk.gz delete mode 100644 out/Coq__Arith__Lt.dk create mode 100644 out/Coq__Arith__Lt.dk.gz delete mode 100644 out/Coq__Arith__Minus.dk create mode 100644 out/Coq__Arith__Minus.dk.gz delete mode 100644 out/Coq__Arith__Mult.dk create mode 100644 out/Coq__Arith__Mult.dk.gz delete mode 100644 out/Coq__Arith__PeanoNat.dk create mode 100644 out/Coq__Arith__PeanoNat.dk.gz delete mode 100644 out/Coq__Arith__Peano__dec.dk create mode 100644 out/Coq__Arith__Peano__dec.dk.gz delete mode 100644 out/Coq__Arith__Plus.dk create mode 100644 out/Coq__Arith__Plus.dk.gz delete mode 100644 out/Coq__Arith__Wf__nat.dk create mode 100644 out/Coq__Arith__Wf__nat.dk.gz delete mode 100644 out/Coq__Bool__Bool.dk create mode 100644 out/Coq__Bool__Bool.dk.gz delete mode 100644 out/Coq__Bool__BoolEq.dk create mode 100644 out/Coq__Bool__BoolEq.dk.gz delete mode 100644 out/Coq__Bool__DecBool.dk create mode 100644 out/Coq__Bool__DecBool.dk.gz delete mode 100644 out/Coq__Bool__IfProp.dk create mode 100644 out/Coq__Bool__IfProp.dk.gz delete mode 100644 out/Coq__Classes__CMorphisms.dk create mode 100644 out/Coq__Classes__CMorphisms.dk.gz delete mode 100644 out/Coq__Classes__CRelationClasses.dk create mode 100644 out/Coq__Classes__CRelationClasses.dk.gz delete mode 100644 out/Coq__Classes__Equivalence.dk create mode 100644 out/Coq__Classes__Equivalence.dk.gz delete mode 100644 out/Coq__Classes__Init.dk create mode 100644 out/Coq__Classes__Init.dk.gz delete mode 100644 out/Coq__Classes__Morphisms.dk create mode 100644 out/Coq__Classes__Morphisms.dk.gz delete mode 100644 out/Coq__Classes__Morphisms__Prop.dk create mode 100644 out/Coq__Classes__Morphisms__Prop.dk.gz delete mode 100644 out/Coq__Classes__RelationClasses.dk create mode 100644 out/Coq__Classes__RelationClasses.dk.gz delete mode 100644 out/Coq__Classes__SetoidTactics.dk create mode 100644 out/Coq__Classes__SetoidTactics.dk.gz delete mode 100644 out/Coq__Init__Datatypes.dk create mode 100644 out/Coq__Init__Datatypes.dk.gz delete mode 100644 out/Coq__Init__Decimal.dk create mode 100644 out/Coq__Init__Decimal.dk.gz delete mode 100644 out/Coq__Init__Logic.dk create mode 100644 out/Coq__Init__Logic.dk.gz delete mode 100644 out/Coq__Init__Logic__Type.dk create mode 100644 out/Coq__Init__Logic__Type.dk.gz delete mode 100644 out/Coq__Init__Nat.dk create mode 100644 out/Coq__Init__Nat.dk.gz delete mode 100644 out/Coq__Init__Notations.dk create mode 100644 out/Coq__Init__Notations.dk.gz delete mode 100644 out/Coq__Init__Peano.dk create mode 100644 out/Coq__Init__Peano.dk.gz delete mode 100644 out/Coq__Init__Prelude.dk create mode 100644 out/Coq__Init__Prelude.dk.gz delete mode 100644 out/Coq__Init__Specif.dk create mode 100644 out/Coq__Init__Specif.dk.gz delete mode 100644 out/Coq__Init__Tactics.dk create mode 100644 out/Coq__Init__Tactics.dk.gz delete mode 100644 out/Coq__Init__Tauto.dk create mode 100644 out/Coq__Init__Tauto.dk.gz delete mode 100644 out/Coq__Init__Wf.dk create mode 100644 out/Coq__Init__Wf.dk.gz delete mode 100644 out/Coq__Logic__Decidable.dk create mode 100644 out/Coq__Logic__Decidable.dk.gz delete mode 100644 out/Coq__Logic__EqdepFacts.dk create mode 100644 out/Coq__Logic__EqdepFacts.dk.gz delete mode 100644 out/Coq__Logic__Eqdep__dec.dk create mode 100644 out/Coq__Logic__Eqdep__dec.dk.gz delete mode 100644 out/Coq__Logic__ProofIrrelevanceFacts.dk create mode 100644 out/Coq__Logic__ProofIrrelevanceFacts.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZAdd.dk create mode 100644 out/Coq__Numbers__NatInt__NZAdd.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZAddOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZAddOrder.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZAxioms.dk create mode 100644 out/Coq__Numbers__NatInt__NZAxioms.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZBase.dk create mode 100644 out/Coq__Numbers__NatInt__NZBase.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZBits.dk create mode 100644 out/Coq__Numbers__NatInt__NZBits.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZDiv.dk create mode 100644 out/Coq__Numbers__NatInt__NZDiv.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZGcd.dk create mode 100644 out/Coq__Numbers__NatInt__NZGcd.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZLog.dk create mode 100644 out/Coq__Numbers__NatInt__NZLog.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZMul.dk create mode 100644 out/Coq__Numbers__NatInt__NZMul.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZMulOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZMulOrder.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZOrder.dk create mode 100644 out/Coq__Numbers__NatInt__NZOrder.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZParity.dk create mode 100644 out/Coq__Numbers__NatInt__NZParity.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZPow.dk create mode 100644 out/Coq__Numbers__NatInt__NZPow.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZProperties.dk create mode 100644 out/Coq__Numbers__NatInt__NZProperties.dk.gz delete mode 100644 out/Coq__Numbers__NatInt__NZSqrt.dk create mode 100644 out/Coq__Numbers__NatInt__NZSqrt.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NAdd.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAdd.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NAddOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAddOrder.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NAxioms.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NAxioms.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NBase.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NBase.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NBits.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NBits.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NDiv.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NDiv.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NGcd.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NGcd.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NLcm.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NLcm.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NLog.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NLog.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NMaxMin.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NMaxMin.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NMulOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NMulOrder.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NOrder.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NOrder.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NParity.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NParity.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NPow.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NPow.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NProperties.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NProperties.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NSqrt.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NSqrt.dk.gz delete mode 100644 out/Coq__Numbers__Natural__Abstract__NSub.dk create mode 100644 out/Coq__Numbers__Natural__Abstract__NSub.dk.gz delete mode 100644 out/Coq__Numbers__NumPrelude.dk create mode 100644 out/Coq__Numbers__NumPrelude.dk.gz delete mode 100644 out/Coq__Program__Basics.dk create mode 100644 out/Coq__Program__Basics.dk.gz delete mode 100644 out/Coq__Program__Tactics.dk create mode 100644 out/Coq__Program__Tactics.dk.gz delete mode 100644 out/Coq__Relations__Operators__Properties.dk create mode 100644 out/Coq__Relations__Operators__Properties.dk.gz delete mode 100644 out/Coq__Relations__Relation__Definitions.dk create mode 100644 out/Coq__Relations__Relation__Definitions.dk.gz delete mode 100644 out/Coq__Relations__Relation__Operators.dk create mode 100644 out/Coq__Relations__Relation__Operators.dk.gz delete mode 100644 out/Coq__Relations__Relations.dk create mode 100644 out/Coq__Relations__Relations.dk.gz delete mode 100644 out/Coq__Setoids__Setoid.dk create mode 100644 out/Coq__Setoids__Setoid.dk.gz delete mode 100644 out/Coq__Structures__Equalities.dk create mode 100644 out/Coq__Structures__Equalities.dk.gz delete mode 100644 out/Coq__Structures__GenericMinMax.dk create mode 100644 out/Coq__Structures__GenericMinMax.dk.gz delete mode 100644 out/Coq__Structures__Orders.dk create mode 100644 out/Coq__Structures__Orders.dk.gz delete mode 100644 out/Coq__Structures__OrdersFacts.dk create mode 100644 out/Coq__Structures__OrdersFacts.dk.gz delete mode 100644 out/Coq__Structures__OrdersTac.dk create mode 100644 out/Coq__Structures__OrdersTac.dk.gz diff --git a/out/Coq__Arith__Arith__base.dk b/out/Coq__Arith__Arith__base.dk deleted file mode 100644 index 0175c2437..000000000 --- a/out/Coq__Arith__Arith__base.dk +++ /dev/null @@ -1,4 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -(; End of translation. ;) diff --git a/out/Coq__Arith__Arith__base.dk.gz b/out/Coq__Arith__Arith__base.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..c477060be45816d9af23abbf11472c998dfa26e5 GIT binary patch literal 150 zcmb2|=HQt3>~b;#vvYo7e7s{(W=RH|N=htF)l11{kUee4*KEM!_Hgg=A4gfZ*)^0O zvAsE=!luKzTh&c;dwxRQ{ngezvr}{?N!XuSa5-0fx`SqHMC4C}=N&(t^5X;ZE}E|Y zbx&f=!9_2+jKzb#nQJ}&JNc9mE9cebeA|o`-4D$s)3uiQ|6*2uR%KJqz`y_i%RWB| literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__Between.dk b/out/Coq__Arith__Between.dk deleted file mode 100644 index f47ebbcb1..000000000 --- a/out/Coq__Arith__Between.dk +++ /dev/null @@ -1,2513 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -def between : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop. - -def bet__emp : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (between P k k). - -def bet__S : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term cupicef.prop (between P k (Coq__Init__Datatypes.S l)). - -[ ] cupicef.code_guarded? _ (bet__emp _ _) --> cupicef.guarded. - -[ ] cupicef.code_guarded? _ (bet__S _ _ _ _ _) --> cupicef.guarded. - -def match____between : - s : cupicef.Sort -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (between P k __) -> - cupicef.Univ s) -> - case__bet__emp : cupicef.Term s (P0 k (bet__emp P k)) -> - case__bet__S : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term s (P0 (Coq__Init__Datatypes.S l) (bet__S P k l __ __0))) -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - x : cupicef.Term cupicef.prop (between P k __) -> - cupicef.Term s (P0 __ x). - -[ s, P, k, P0, case__bet__emp, case__bet__S] - match____between s P k P0 case__bet__emp case__bet__S {k} (bet__emp P k) - --> - case__bet__emp. - -[ s, P, k, P0, case__bet__emp, case__bet__S, l, __, __0] - match____between s P k P0 case__bet__emp case__bet__S - {Coq__Init__Datatypes.S l} (bet__S P k l __ __0) - --> - case__bet__S l __ __0. - -[ s, P, k, P0, s'] - match____between s P k - (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ x))) - --> - match____between s' P k (__ => x => P0 __ x). - -def between__ind : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - f : cupicef.Term cupicef.prop (P0 k) -> - f0 : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : cupicef.Term cupicef.prop (P0 l) -> - __1 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term cupicef.prop (P0 (Coq__Init__Datatypes.S l))) -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - b : cupicef.Term cupicef.prop (between P k n) -> - cupicef.Term cupicef.prop (P0 n) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - f : cupicef.Term cupicef.prop (P0 k) => - f0 : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : cupicef.Term cupicef.prop (P0 l) -> - __1 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term cupicef.prop (P0 (Coq__Init__Datatypes.S l))) => - cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.1 cupicef.prop - (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (between P k n) - (b : cupicef.Term cupicef.prop (between P k n) => P0 n))))) - (c => - c - (F => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - b : cupicef.Term cupicef.prop (between P k n) => - match____between cupicef.prop P k - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : cupicef.Term cupicef.prop (between P k n0) => - P0 n0) - f - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - b0 : cupicef.Term cupicef.prop (between P k l) => - p : cupicef.Term cupicef.prop (P l) => - f0 l b0 (F l b0) p) - n b)) - cupicef.0. - -thm bet__eq : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l k) -> - cupicef.Term cupicef.prop (between P k l) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l k) => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - between P k l0) - (bet__emp P k) l H. - -thm between__le : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - between__ind P k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le k l0) - (Coq__Init__Peano.le__n k) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => - H1 : cupicef.Term cupicef.prop (P l0) => - Coq__Init__Peano.le__S k l0 IHbetween) - l H. - -thm between__Sk__l : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l) -> - cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - between__ind P k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) => - between P (Coq__Init__Datatypes.S k) l0)) - (H0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) => - bet__eq P (Coq__Init__Datatypes.S k) k - (Coq__Arith__PeanoNat.Nat__le__antisymm k (Coq__Init__Datatypes.S k) - (Coq__Arith__PeanoNat.Nat__le__succ__diag__r k) H0)) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - match____between cupicef.prop P k - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : cupicef.Term cupicef.prop (between P k n) => - cupicef.prod (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) => - between P (Coq__Init__Datatypes.S k) n)) - (__0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) n) -> - cupicef.Term cupicef.prop - (between P (Coq__Init__Datatypes.S k) n)) => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (P n) - (__1 : cupicef.Term cupicef.prop (P n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S n)) - (__2 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S n)) => - between P (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S n))))) - (IHbetween : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) -> - cupicef.Term cupicef.prop - (between P (Coq__Init__Datatypes.S k) k)) => - H1 : cupicef.Term cupicef.prop (P k) => - H2 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S k)) => - bet__emp P (Coq__Init__Datatypes.S k)) - (l1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H1 : cupicef.Term cupicef.prop (between P k l1) => - H2 : cupicef.Term cupicef.prop (P l1) => - IHbetween : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S l1)) -> - cupicef.Term cupicef.prop - (between P (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S l1))) => - H3 : cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l1)) => - H4 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) - (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S l1))) => - bet__S P (Coq__Init__Datatypes.S k) (Coq__Init__Datatypes.S l1) - (IHbetween (Coq__Arith__Le.le__n__S k l1 (between__le P k l1 H1))) - H3) - l0 H0) - l H. - -thm between__restr : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le l m) -> - __1 : cupicef.Term cupicef.prop (between P k m) -> - cupicef.Term cupicef.prop (between P l m) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - Coq__Init__Peano.le__ind k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (Coq__Init__Peano.le l0 m) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le l0 m) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (between P k m) - (__0 : cupicef.Term cupicef.prop (between P k m) => between P l0 m))) - (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => - H1 : cupicef.Term cupicef.prop (between P k m) => - H1) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m0) => - IHle : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 m) -> - __0 : cupicef.Term cupicef.prop (between P k m) -> - cupicef.Term cupicef.prop (between P m0 m)) => - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S m0) m) => - H2 : cupicef.Term cupicef.prop (between P k m) => - between__Sk__l P m0 m - (IHle (Coq__Arith__PeanoNat.Nat__lt__le__incl m0 m H1) H2) H1) - l H. - -def exists__between : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop. - -def exists__S : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - cupicef.Term cupicef.prop (exists__between Q k (Coq__Init__Datatypes.S l)). - -def exists__le : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (exists__between Q k (Coq__Init__Datatypes.S l)). - -[ ] cupicef.code_guarded? _ (exists__S _ _ _ _) --> cupicef.guarded. - -[ ] cupicef.code_guarded? _ (exists__le _ _ _ _ _) --> cupicef.guarded. - -def match____exists__between : - s : cupicef.Sort -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (exists__between Q k __) -> - cupicef.Univ s) -> - case__exists__S : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - cupicef.Term s (P (Coq__Init__Datatypes.S l) (exists__S Q k l __))) -> - case__exists__le : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term s (P (Coq__Init__Datatypes.S l) (exists__le Q k l __ __0))) -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - x : cupicef.Term cupicef.prop (exists__between Q k __) -> - cupicef.Term s (P __ x). - -[ s, Q, k, P, case__exists__S, case__exists__le, l, __] - match____exists__between s Q k P case__exists__S case__exists__le - {Coq__Init__Datatypes.S l} (exists__S Q k l __) - --> - case__exists__S l __. - -[ s, Q, k, P, case__exists__S, case__exists__le, l, __, __0] - match____exists__between s Q k P case__exists__S case__exists__le - {Coq__Init__Datatypes.S l} (exists__le Q k l __ __0) - --> - case__exists__le l __ __0. - -[ s, Q, k, P, s'] - match____exists__between s Q k - (__ => x => cupicef.uncode _ (cupicef.code (cupicef.cU s') (P __ x))) - --> - match____exists__between s' Q k (__ => x => P __ x). - -def exists__between__ind : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - f : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - __0 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) -> - f0 : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - e : cupicef.Term cupicef.prop (exists__between Q k n) -> - cupicef.Term cupicef.prop (P n) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - f : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - __0 : cupicef.Term cupicef.prop (P l) -> - cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) => - f0 : - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S l))) => - cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.1 cupicef.prop - (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (exists__between Q k n) - (e : cupicef.Term cupicef.prop (exists__between Q k n) => - P n))))) - (c => - c - (F => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - e : cupicef.Term cupicef.prop (exists__between Q k n) => - match____exists__between cupicef.prop Q k - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : cupicef.Term cupicef.prop (exists__between Q k n0) => - P n0) - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - e0 : cupicef.Term cupicef.prop (exists__between Q k l) => - f l e0 (F l e0)) - (l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - q : cupicef.Term cupicef.prop (Q l) => - f0 l l0 q) - n e)) - cupicef.0. - -thm exists__le__S : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (exists__between Q k l) => - exists__between__ind Q k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (exists__between Q k l0) => - IHexists__between : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) l0) => - Coq__Init__Peano.le__S (Coq__Init__Datatypes.S k) l0 IHexists__between) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => - H1 : cupicef.Term cupicef.prop (Q l0) => - Coq__Arith__Le.le__n__S k l0 H0) - l H. - -thm exists__lt : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt k l) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - exists__le__S Q. - -thm exists__S__le : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l)) => - Coq__Arith__Le.le__S__n k l - (exists__le__S Q k (Coq__Init__Datatypes.S l) H). - -def in__int : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.and (Coq__Init__Peano.le p r) (Coq__Init__Peano.lt r q). - -thm in__int__intro : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) -> - cupicef.Term cupicef.prop (in__int p q r) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => - Coq__Init__Logic.conj (Coq__Init__Peano.le p r) (Coq__Init__Peano.lt r q) - H H0. - -thm in__int__lt : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int p q r) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt p q) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int p q r) => - Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r q) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r q)) => - Coq__Init__Peano.lt p q) - (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => - H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => - Coq__Arith__PeanoNat.Nat__le__lt__trans p r q H0 H1) - H. - -def let__o : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) -> - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) -> - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt r q) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q)) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) => - Coq__Arith__Lt.le__lt__or__eq r q (Coq__Arith__Lt.lt__n__Sm__le r q H1). - -thm in__int__p__Sq : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (in__int p q r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q)) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) => - Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q))) => - Coq__Init__Logic.or (in__int p q r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q)) - (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) => - Coq__Init__Logic.match____or cupicef.prop (Coq__Init__Peano.lt r q) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt r q) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q)) => - Coq__Init__Logic.or (in__int p q r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q)) - (H2 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => - Coq__Init__Logic.or__introl (in__int p q r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q) - (in__int__intro p q r H0 H2)) - (H2 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q) => - Coq__Init__Logic.or__intror (in__int p q r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r q) - H2) - (let__o p q r H H0 H1)) - H. - -thm in__int__S : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int p q r) -> - cupicef.Term cupicef.prop (in__int p (Coq__Init__Datatypes.S q) r) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int p q r) => - Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r q) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and (Coq__Init__Peano.le p r) - (Coq__Init__Peano.lt r q)) => - in__int p (Coq__Init__Datatypes.S q) r) - (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p r) => - H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => - in__int__intro p (Coq__Init__Datatypes.S q) r H0 - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S r) - (Coq__Init__Datatypes.S q)) - (Coq__Init__Peano.lt r (Coq__Init__Datatypes.S q)) cupicef.I - (Coq__Init__Peano.le__S (Coq__Init__Datatypes.S r) q H1))) - H. - -thm in__int__Sp__q : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int (Coq__Init__Datatypes.S p) q r) -> - cupicef.Term cupicef.prop (in__int p q r) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int (Coq__Init__Datatypes.S p) q r) => - Coq__Init__Logic.match____and cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) - (Coq__Init__Peano.lt r q) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) - (Coq__Init__Peano.lt r q)) => - in__int p q r) - (H0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S p) r) => - H1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r q) => - in__int__intro p q r (Coq__Arith__PeanoNat.Nat__lt__le__incl p r H0) H1) - H. - -def let__o0 : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (between P k l) -> - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (between P k l0) -> - IHbetween : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 r) -> - cupicef.Term cupicef.prop (P r)) -> - H1 : cupicef.Term cupicef.prop (P l0) -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H2 : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (in__int k l0 r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r l0)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 r) -> - cupicef.Term cupicef.prop (P r)) => - H1 : cupicef.Term cupicef.prop (P l0) => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H2 : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) => - in__int__p__Sq k l0 r H2. - -thm between__in__int : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (in__int k l r) -> - cupicef.Term cupicef.prop (P r) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - between__ind P k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (in__int k l0 r) - (__ : cupicef.Term cupicef.prop (in__int k l0 r) => P r))) - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (in__int k k r) => - Coq__Init__Logic.False__ind (P r) - (Coq__Arith__PeanoNat.Nat__lt__irrefl k (in__int__lt k k r H0))) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 r) -> - cupicef.Term cupicef.prop (P r)) => - H1 : cupicef.Term cupicef.prop (P l0) => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H2 : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) r) => - Coq__Init__Logic.match____or cupicef.prop (in__int k l0 r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r l0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (in__int k l0 r) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r l0)) => - P r) - (H3 : cupicef.Term cupicef.prop (in__int k l0 r) => IHbetween r H3) - (H3 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - r l0) => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l0 - (r0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (in__int k (Coq__Init__Datatypes.S l0) r0) - (H4 : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) r0) => - P r0)) - (H4 : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) l0) => - H1) - r H3 H2) - (let__o0 P k l H l0 H0 IHbetween H1 r H2)) - l H. - -thm in__int__between : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (in__int k l r) -> - cupicef.Term cupicef.prop (P r)) -> - cupicef.Term cupicef.prop (between P k l) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - Coq__Init__Peano.le__ind k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.rule - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (in__int k l0 r) - (__ : cupicef.Term cupicef.prop (in__int k l0 r) => P r))) - (__ : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 r) -> - cupicef.Term cupicef.prop (P r)) => - between P k l0)) - (H0 : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k k r) -> - cupicef.Term cupicef.prop (P r)) => - bet__emp P k) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => - IHle : - (__ : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m r) -> - cupicef.Term cupicef.prop (P r)) -> - cupicef.Term cupicef.prop (between P k m)) => - H1 : - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) r) -> - cupicef.Term cupicef.prop (P r)) => - bet__S P k m - (IHle - (r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H2 : cupicef.Term cupicef.prop (in__int k m r) => - H1 r (in__int__S k m r H2))) - (H1 m - (in__int__intro k (Coq__Init__Datatypes.S m) m H0 - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) - (Coq__Init__Datatypes.S m)) - (Coq__Init__Peano.lt m (Coq__Init__Datatypes.S m)) cupicef.I - (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S m)))))) - l H. - -thm exists__in__int : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (exists__between Q k l) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k l m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (exists__between Q k l) => - exists__between__ind Q k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k l0 m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (exists__between Q k l0) => - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k l0 m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) => - Coq__Init__Logic.match____ex2 cupicef.prop - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k l0 m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k l0 m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) => - Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H2 : cupicef.Term cupicef.prop (in__int k l0 p) => - H3 : cupicef.Term cupicef.prop (Q p) => - Coq__Init__Logic.ex__intro2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) p - (in__int__S k l0 p H2) H3) - H1) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l0) => - H1 : cupicef.Term cupicef.prop (Q l0) => - Coq__Init__Logic.ex__intro2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m) l0 - (in__int__intro k (Coq__Init__Datatypes.S l0) l0 H0 - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S l0) - (Coq__Init__Datatypes.S l0)) - (Coq__Init__Peano.lt l0 (Coq__Init__Datatypes.S l0)) cupicef.I - (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S l0)))) - H1) - l H. - -thm in__int__exists : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l r) -> - __0 : cupicef.Term cupicef.prop (Q r) -> - cupicef.Term cupicef.prop (exists__between Q k l) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - r : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (in__int k l r) => - Coq__Init__Logic.match____and cupicef.prop (Coq__Init__Peano.le k r) - (Coq__Init__Peano.lt r l) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and (Coq__Init__Peano.le k r) - (Coq__Init__Peano.lt r l)) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (Q r) - (__0 : cupicef.Term cupicef.prop (Q r) => exists__between Q k l)) - (H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k r) => - lt__r__l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt r l) => - H1 : cupicef.Term cupicef.prop (Q r) => - Coq__Init__Peano.le__ind (Coq__Init__Datatypes.S r) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - exists__between Q k l0) - (exists__le Q k r H0 H1) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - lt__r__l0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S r) m) => - IHlt__r__l : cupicef.Term cupicef.prop (exists__between Q k m) => - exists__S Q k m IHlt__r__l) - l lt__r__l) - H. - -def let__o1 : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) -> - IHle : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) -> - P__or__Q : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => - IHle : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => - P__or__Q : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => - IHle - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H1 : cupicef.Term cupicef.prop (in__int k m n) => - P__or__Q n (in__int__S k m n H1)). - -def let__o2 : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) -> - IHle : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) -> - P__or__Q : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - H1 : cupicef.Term cupicef.prop (between P k m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P m) (Q m)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => - IHle : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => - P__or__Q : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => - H1 : cupicef.Term cupicef.prop (between P k m) => - P__or__Q m - (in__int__intro k (Coq__Init__Datatypes.S m) m H0 - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) - (Coq__Init__Datatypes.S m)) - (Coq__Init__Peano.lt m (Coq__Init__Datatypes.S m)) cupicef.I - (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S m)))). - -thm between__or__exists : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) -> - __0 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (in__int k l n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k l) (exists__between Q k l)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l) => - Coq__Init__Peano.le__ind k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.prop - (cupicef.rule - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (in__int k l0 n) - (__ : cupicef.Term cupicef.prop (in__int k l0 n) => - Coq__Init__Logic.or (P n) (Q n)))) - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => - Coq__Init__Logic.or (between P k l0) (exists__between Q k l0))) - (H0 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k k n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => - Coq__Init__Logic.or__introl (between P k k) (exists__between Q k k) - (bet__emp P k)) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k m) => - IHle : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k m n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m))) => - P__or__Q : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.or (P n) (Q n))) => - Coq__Init__Logic.match____or cupicef.prop (between P k m) - (exists__between Q k m) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (between P k m) (exists__between Q k m)) => - Coq__Init__Logic.or (between P k (Coq__Init__Datatypes.S m)) - (exists__between Q k (Coq__Init__Datatypes.S m))) - (H1 : cupicef.Term cupicef.prop (between P k m) => - Coq__Init__Logic.match____or cupicef.prop (P m) (Q m) - (__ : cupicef.Term cupicef.prop (Coq__Init__Logic.or (P m) (Q m)) => - Coq__Init__Logic.or (between P k (Coq__Init__Datatypes.S m)) - (exists__between Q k (Coq__Init__Datatypes.S m))) - (H2 : cupicef.Term cupicef.prop (P m) => - Coq__Init__Logic.or__introl - (between P k (Coq__Init__Datatypes.S m)) - (exists__between Q k (Coq__Init__Datatypes.S m)) - (bet__S P k m H1 H2)) - (H2 : cupicef.Term cupicef.prop (Q m) => - Coq__Init__Logic.or__intror - (between P k (Coq__Init__Datatypes.S m)) - (exists__between Q k (Coq__Init__Datatypes.S m)) - (exists__le Q k m H0 H2)) - (let__o2 P Q k l H m H0 IHle P__or__Q H1)) - (H1 : cupicef.Term cupicef.prop (exists__between Q k m) => - Coq__Init__Logic.or__intror (between P k (Coq__Init__Datatypes.S m)) - (exists__between Q k (Coq__Init__Datatypes.S m)) - (exists__S Q k m H1)) - (let__o1 P Q k l H m H0 IHle P__or__Q)) - l H. - -def let__e : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (between P k l) -> - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (between P k l0) -> - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) -> - H1 : cupicef.Term cupicef.prop (P l0) -> - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q m)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) => - H1 : cupicef.Term cupicef.prop (P l0) => - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) => - exists__in__int Q k (Coq__Init__Datatypes.S l0) H3. - -def let__o3 : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (between P k l) -> - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (between P k l0) -> - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) -> - H1 : cupicef.Term cupicef.prop (P l0) -> - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) -> - l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H4 : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) -> - H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) -> - H6 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) -> - H7 : cupicef.Term cupicef.prop (Q l_27_) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt l_27_ l0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) => - H1 : cupicef.Term cupicef.prop (P l0) => - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) => - l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H4 : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) => - H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) => - H6 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) => - H7 : cupicef.Term cupicef.prop (Q l_27_) => - Coq__Arith__Lt.le__lt__or__eq l_27_ l0 - (Coq__Arith__Lt.lt__n__Sm__le l_27_ l0 H6). - -def let__H6 : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (between P k l) -> - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (between P k l0) -> - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) -> - H1 : cupicef.Term cupicef.prop (P l0) -> - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) -> - l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H4 : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) -> - H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) -> - H6 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) -> - H7 : cupicef.Term cupicef.prop (Q l_27_) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) => - H1 : cupicef.Term cupicef.prop (P l0) => - H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) => - l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H4 : - cupicef.Term cupicef.prop (in__int k (Coq__Init__Datatypes.S l0) l_27_) => - H5 : cupicef.Term cupicef.prop (Coq__Init__Peano.le k l_27_) => - H6 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) => - H7 : cupicef.Term cupicef.prop (Q l_27_) => - Coq__Init__Logic.match____or cupicef.prop (Coq__Init__Peano.lt l_27_ l0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt l_27_ l0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0) - (H8 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt l_27_ l0) => - Coq__Init__Logic.False__ind - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0) - (IHbetween - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H9 : cupicef.Term cupicef.prop (in__int k l0 n) => - H10 : cupicef.Term cupicef.prop (P n) => - H2 n (in__int__S k l0 n H9) H10) - (in__int__exists Q k l0 l_27_ (in__int__intro k l0 l_27_ H5 H8) H7))) - (H8 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ l0) => - H8) - (let__o3 P Q k l H l0 H0 IHbetween H1 H2 H3 l_27_ H4 H5 H6 H7). - -thm between__not__exists : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (between P k l) -> - __0 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (in__int k l n) -> - __1 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (exists__between Q k l)) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (between P k l) => - between__ind P k - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (in__int k l0 n) - (__ : cupicef.Term cupicef.prop (in__int k l0 n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( - P n) - (__0 : cupicef.Term cupicef.prop (P n) => - Coq__Init__Logic.not (Q n))))) - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - Coq__Init__Logic.not (exists__between Q k l0))) - (cupicef.cast - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop) - (cupicef.prod - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (in__int k k n) - (__ : cupicef.Term cupicef.prop (in__int k k n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( - P n) - (__0 : cupicef.Term cupicef.prop (P n) => - Coq__Init__Logic.not (Q n))))) - (H0 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k k n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (exists__between Q k k) - (H1 : cupicef.Term cupicef.prop (exists__between Q k k) => - Coq__Init__Logic.False))) - (cupicef.prod - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (in__int k k n) - (__ : cupicef.Term cupicef.prop (in__int k k n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( - P n) - (__0 : cupicef.Term cupicef.prop (P n) => - Coq__Init__Logic.not (Q n))))) - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k k n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - Coq__Init__Logic.not (exists__between Q k k))) - cupicef.I - (H0 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k k n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - H1 : cupicef.Term cupicef.prop (exists__between Q k k) => - Coq__Init__Logic.False__ind Coq__Init__Logic.False - (Coq__Arith__PeanoNat.Nat__lt__irrefl k - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S k) k) - (Coq__Init__Peano.lt k k) cupicef.I (exists__le__S Q k k H1))))) - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (between P k l0) => - IHbetween : - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (in__int k l0 n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (exists__between Q k l0))) => - H1 : cupicef.Term cupicef.prop (P l0) => - cupicef.cast - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop) - (cupicef.prod - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (in__int k (Coq__Init__Datatypes.S l0) n) - (__ : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( - P n) - (__0 : cupicef.Term cupicef.prop (P n) => - Coq__Init__Logic.not (Q n))))) - (H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (exists__between Q k (Coq__Init__Datatypes.S l0)) - (H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) => - Coq__Init__Logic.False))) - (cupicef.prod - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop - (cupicef.rule - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.prop) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I (in__int k (Coq__Init__Datatypes.S l0) n) - (__ : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) n) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I ( - P n) - (__0 : cupicef.Term cupicef.prop (P n) => - Coq__Init__Logic.not (Q n))))) - (__ : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - Coq__Init__Logic.not - (exists__between Q k (Coq__Init__Datatypes.S l0)))) - cupicef.I - (H2 : - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) n) -> - __0 : cupicef.Term cupicef.prop (P n) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Q n))) => - H3 : - cupicef.Term cupicef.prop - (exists__between Q k (Coq__Init__Datatypes.S l0)) => - Coq__Init__Logic.False__ind Coq__Init__Logic.False - (H2 l0 - (in__int__intro k (Coq__Init__Datatypes.S l0) l0 - (exists__S__le Q k l0 H3) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S l0) - (Coq__Init__Datatypes.S l0)) - (Coq__Init__Peano.lt l0 (Coq__Init__Datatypes.S l0)) - cupicef.I - (Coq__Init__Peano.le__n (Coq__Init__Datatypes.S l0)))) - H1 - (Coq__Init__Logic.match____ex2 cupicef.prop - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Q m) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : - cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - in__int k (Coq__Init__Datatypes.S l0) m) - (m : - cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Q m)) => - Q l0) - (l_27_ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H4 : - cupicef.Term cupicef.prop - (in__int k (Coq__Init__Datatypes.S l0) l_27_) => - Coq__Init__Logic.match____and cupicef.prop - (Coq__Init__Peano.le k l_27_) - (Coq__Init__Peano.lt l_27_ (Coq__Init__Datatypes.S l0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and (Coq__Init__Peano.le k l_27_) - (Coq__Init__Peano.lt l_27_ - (Coq__Init__Datatypes.S l0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Q l_27_) - (__0 : cupicef.Term cupicef.prop (Q l_27_) => Q l0)) - (H5 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le k l_27_) => - H6 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt l_27_ - (Coq__Init__Datatypes.S l0)) => - H7 : cupicef.Term cupicef.prop (Q l_27_) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - l_27_ - (l1 : - cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Q l1) - H7 l0 - (let__H6 P Q k l H l0 H0 IHbetween H1 H2 H3 l_27_ H4 - H5 H6 H7)) - H4) - (let__e P Q k l H l0 H0 IHbetween H1 H2 H3))))) - l H. - -def P__nth : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop. - -def nth__O : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (P__nth P Q init init Coq__Init__Datatypes.O). - -def nth__S : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> - __0 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> - __1 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (P__nth P Q init l (Coq__Init__Datatypes.S n)). - -[ ] cupicef.code_guarded? _ (nth__O _ _ _) --> cupicef.guarded. - -[ ] cupicef.code_guarded? _ (nth__S _ _ _ _ _ _ _ _ _) --> cupicef.guarded. - -def match____P__nth : - s : cupicef.Sort -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (P__nth P Q init __ __0) -> - cupicef.Univ s) -> - case__nth__O : - cupicef.Term s (P0 init Coq__Init__Datatypes.O (nth__O P Q init)) -> - case__nth__S : - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> - __0 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> - __1 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term s - (P0 l (Coq__Init__Datatypes.S n) (nth__S P Q init k l n __ __0 __1))) -> - __ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - x : cupicef.Term cupicef.prop (P__nth P Q init __ __0) -> - cupicef.Term s (P0 __ __0 x). - -[ s, P, Q, init, P0, case__nth__O, case__nth__S] - match____P__nth s P Q init P0 case__nth__O case__nth__S {init} - {Coq__Init__Datatypes.O} (nth__O P Q init) - --> - case__nth__O. - -[ s, P, Q, init, P0, case__nth__O, case__nth__S, k, l, n, __, __0, __1] - match____P__nth s P Q init P0 case__nth__O case__nth__S {l} - {Coq__Init__Datatypes.S n} (nth__S P Q init k l n __ __0 __1) - --> - case__nth__S k l n __ __0 __1. - -[ s, P, Q, init, P0, s'] - match____P__nth s P Q init - (__ => - __0 => - x => - cupicef.uncode _ (cupicef.code (cupicef.cU s') (P0 __ __0 x))) - --> - match____P__nth s' P Q init (__ => __0 => x => P0 __ __0 x). - -def P__nth__ind : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - f : cupicef.Term cupicef.prop (P0 init Coq__Init__Datatypes.O) -> - f0 : - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> - __0 : cupicef.Term cupicef.prop (P0 k n) -> - __1 : cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> - __2 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (P0 l (Coq__Init__Datatypes.S n))) -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.prop (P__nth P Q init n n0) -> - cupicef.Term cupicef.prop (P0 n n0) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P0 : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - f : cupicef.Term cupicef.prop (P0 init Coq__Init__Datatypes.O) => - f0 : - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (P__nth P Q init k n) -> - __0 : cupicef.Term cupicef.prop (P0 k n) -> - __1 : - cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l) -> - __2 : cupicef.Term cupicef.prop (Q l) -> - cupicef.Term cupicef.prop (P0 l (Coq__Init__Datatypes.S n))) => - cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.2 cupicef.prop - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop cupicef.prop)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop cupicef.prop))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (P__nth P Q init n n0) - (p : cupicef.Term cupicef.prop (P__nth P Q init n n0) => - P0 n n0)))))) - (c => - c - (F => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.prop (P__nth P Q init n n0) => - match____P__nth cupicef.prop P Q init - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n2 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : cupicef.Term cupicef.prop (P__nth P Q init n1 n2) => - P0 n1 n2) - f - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p0 : cupicef.Term cupicef.prop (P__nth P Q init k n1) => - b : - cupicef.Term cupicef.prop - (between P (Coq__Init__Datatypes.S k) l) => - q : cupicef.Term cupicef.prop (Q l) => - f0 k l n1 p0 (F k n1 p0) b q) - n n0 p)) - cupicef.0. - -thm nth__le : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (P__nth P Q init l n) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le init l) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - init : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (P__nth P Q init l n) => - P__nth__ind P Q init - (l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le init l0) - (Coq__Init__Peano.le__n init) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (P__nth P Q init k n0) => - IHP__nth : cupicef.Term cupicef.prop (Coq__Init__Peano.le init k) => - H1 : - cupicef.Term cupicef.prop (between P (Coq__Init__Datatypes.S k) l0) => - H2 : cupicef.Term cupicef.prop (Q l0) => - Coq__Arith__PeanoNat.Nat__le__trans init k l0 IHP__nth - (Coq__Arith__PeanoNat.Nat__le__trans k k l0 - (Coq__Init__Peano.le__n k) - (Coq__Arith__PeanoNat.Nat__le__trans k k l0 - (Coq__Init__Peano.le__n k) - (Coq__Arith__PeanoNat.Nat__le__trans k k l0 - (Coq__Init__Peano.le__n k) - (Coq__Arith__PeanoNat.Nat__le__trans k - (Coq__Init__Datatypes.S k) l0 - (Coq__Arith__PeanoNat.Nat__le__succ__diag__r k) - (between__le P (Coq__Init__Datatypes.S k) l0 H1)))))) - l n H. - -def eventually : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le k n) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k). - -def let__H1 : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) -> - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.le x Coq__Init__Datatypes.O) -> - H1 : cupicef.Term cupicef.prop (Q x) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x Coq__Init__Datatypes.O) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) => - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.le x Coq__Init__Datatypes.O) => - H1 : cupicef.Term cupicef.prop (Q x) => - Coq__Arith__PeanoNat.Nat__le__antisymm x Coq__Init__Datatypes.O H0 - (Coq__Arith__PeanoNat.Nat__le__0__l x). - -thm event__O : - Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - __ : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop (Q Coq__Init__Datatypes.O) - -:= Q : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - H : cupicef.Term cupicef.prop (eventually Q Coq__Init__Datatypes.O) => - Coq__Init__Logic.match____ex2 cupicef.prop - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le k Coq__Init__Datatypes.O) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.ex2 - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le k Coq__Init__Datatypes.O) - (k : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q k)) => - Q Coq__Init__Datatypes.O) - (x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le x Coq__Init__Datatypes.O) => - H1 : cupicef.Term cupicef.prop (Q x) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => Q n) H1 - Coq__Init__Datatypes.O (let__H1 Q H x H0 H1)) - H. - -(; End of translation. ;) diff --git a/out/Coq__Arith__Between.dk.gz b/out/Coq__Arith__Between.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..32a04f860a726da916d74d93dce93e4bbafe6dd5 GIT binary patch literal 7657 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 literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__Compare__dec.dk b/out/Coq__Arith__Compare__dec.dk deleted file mode 100644 index 561ce601f..000000000 --- a/out/Coq__Arith__Compare__dec.dk +++ /dev/null @@ -1,5066 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -def zerop : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n Coq__Init__Datatypes.O) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (Coq__Init__Specif.left - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O)) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.right - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - cupicef.I (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))) - n. - -def let__s : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - IHn : - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (Coq__Init__Peano.lt m0 n0))) -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1)) - (Coq__Init__Peano.lt m1 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (Coq__Init__Peano.lt m0 n0))) => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn m1. - -def lt__eq__lt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__rec - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (Coq__Init__Peano.lt m0 n0))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n0)) - (Coq__Init__Peano.lt n0 Coq__Init__Datatypes.O)) - (Coq__Init__Specif.inleft - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O))) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Specif.right - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O))) - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.inleft - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - Coq__Init__Datatypes.O) - (Coq__Init__Specif.left - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m1)) - cupicef.I - (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m1) (Coq__Arith__Gt.gt__Sn__O m1))))) - m0) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (Coq__Init__Peano.lt m0 n0))) => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) n1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) n1)) - (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n0))) - (Coq__Init__Specif.inright - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O))) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - cupicef.I (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))) - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.match____sumor cupicef.set - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1))) - (Coq__Init__Peano.lt m1 n0) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1)) - (Coq__Init__Peano.lt m1 n0)) => - Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0))) - (H : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1)) => - Coq__Init__Specif.match____sumbool cupicef.set - (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n0 m1) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1)) => - Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0))) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m1) => - Coq__Init__Specif.inleft - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Specif.left - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S n0)) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - cupicef.I - (Coq__Arith__Le.le__n__S (Coq__Init__Datatypes.S n0) - m1 l)))) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m1) => - Coq__Init__Specif.inleft - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Specif.right - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.f__equal__nat - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.S n0 m1 e))) - H) - (H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m1 n0) => - Coq__Init__Specif.inright - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)))) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Gt.gt__le__S (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - cupicef.I - (Coq__Arith__Lt.le__lt__n__Sm - (Coq__Init__Datatypes.S m1) n0 H))))) - (let__s n m n0 IHn m0 m1)) - m0) - n m. - -def gt__eq__gt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.gt m n) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.gt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - lt__eq__lt__dec n m. - -def le__lt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__rec - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.left (Coq__Init__Peano.le Coq__Init__Datatypes.O m0) - (Coq__Init__Peano.lt m0 Coq__Init__Datatypes.O) - (Coq__Arith__PeanoNat.Nat__le__0__l m0)) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m0) - (Coq__Init__Peano.lt m0 n0))) => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) n1) - (Coq__Init__Peano.lt n1 (Coq__Init__Datatypes.S n0))) - (Coq__Init__Specif.right - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Gt.gt__le__S Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - cupicef.I - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Lt.lt__le__S Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S n0) - (Coq__Arith__PeanoNat.Nat__lt__0__succ n0))))))) - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool__rec (Coq__Init__Peano.le n0 m1) - (Coq__Init__Peano.lt m1 n0) - (s : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n0 m1) - (Coq__Init__Peano.lt m1 n0)) => - Coq__Init__Specif.sumbool - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0))) - (a : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m1) => - Coq__Init__Specif.left - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (Coq__Arith__Gt.gt__le__S n0 (Coq__Init__Datatypes.S m1) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m1) n0) - cupicef.I - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m1)) - cupicef.I (Coq__Arith__Le.le__n__S n0 m1 a))))) - (b : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m1 n0) => - Coq__Init__Specif.right - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S (Coq__Init__Datatypes.S m1)) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - cupicef.I - (Coq__Arith__Gt.gt__le__S (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S m1) - (Coq__Init__Datatypes.S n0)) - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - cupicef.I (Coq__Arith__Lt.lt__n__S m1 n0 b))))) - (IHn m1)) - m0) - n m. - -def le__le__S__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.le (Coq__Init__Datatypes.S m) n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - le__lt__dec n m. - -def le__ge__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.ge n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool__rec (Coq__Init__Peano.le n m) - (Coq__Init__Peano.lt m n) - (s : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.ge n m)) - (a : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Specif.left (Coq__Init__Peano.le n m) - (Coq__Init__Peano.ge n m) a) - (b : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Specif.right (Coq__Init__Peano.le n m) - (Coq__Init__Peano.ge n m) - (cupicef.cast cupicef.prop cupicef.prop (Coq__Init__Peano.le m n) - (Coq__Init__Peano.ge n m) cupicef.I - (Coq__Arith__PeanoNat.Nat__lt__le__incl m n b))) - (le__lt__dec n m). - -def le__gt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.gt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - le__lt__dec n m. - -def let__s0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - lt__eq__lt__dec n m. - -def le__lt__eq__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Specif.match____sumor cupicef.set - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m))) - (Coq__Init__Peano.lt m n) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - s0) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Logic.False__rec - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Arith__Lt.le__not__lt n m H l)) - (let__s0 n m H). - -def let__s1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.gt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - le__gt__dec n m. - -def le__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.match____sumbool cupicef.set (Coq__Init__Peano.le n m) - (Coq__Init__Peano.gt n m) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Peano.gt n m)) => - Coq__Init__Specif.sumbool (Coq__Init__Peano.le n m) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Specif.left (Coq__Init__Peano.le n m) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) l) - (g : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => - Coq__Init__Specif.right (Coq__Init__Peano.le n m) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) - (Coq__Arith__Gt.gt__not__le n m g)) - (let__s1 n m). - -def lt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.not (Coq__Init__Peano.lt n m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - le__dec (Coq__Init__Datatypes.S n) m. - -def gt__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.gt n m) - (Coq__Init__Logic.not (Coq__Init__Peano.gt n m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - lt__dec m n. - -def ge__dec : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.ge n m) - (Coq__Init__Logic.not (Coq__Init__Peano.ge n m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - le__dec m n. - -thm dec__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Logic__Decidable.decidable (Coq__Init__Peano.le n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__le__decidable n m. - -thm dec__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Logic__Decidable.decidable (Coq__Init__Peano.lt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__decidable n m. - -thm dec__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Logic__Decidable.decidable (Coq__Init__Peano.gt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__decidable m n. - -thm dec__ge : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Logic__Decidable.decidable (Coq__Init__Peano.ge n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__le__decidable m n. - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__lt__gt__cases n0 m0). - -thm not__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m n m. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__nle__gt n0 m0). - -thm not__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H0 n m n m. - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__nlt__ge n0 m0). - -thm not__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.gt n m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H1 n m m n. - -def let__H2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) => - Coq__Init__Peano.lt m0 n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__nle__gt n0 m0). - -thm not__ge : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.ge n m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H2 n m m n. - -def let__H3 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) => - Coq__Init__Peano.le m0 n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__nlt__ge n0 m0). - -thm not__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt n m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.ge n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H3 n m n m. - -thm nat__compare__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Classes__RelationClasses.symmetry - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt) - (Coq__Init__Peano.lt n m) - (Coq__Arith__PeanoNat.Nat__compare__lt__iff n m). - -thm nat__compare__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff (Coq__Init__Peano.gt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Classes__RelationClasses.symmetry - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt) - (Coq__Init__Peano.gt n m) - (Coq__Arith__PeanoNat.Nat__compare__gt__iff n m). - -thm nat__compare__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff (Coq__Init__Peano.le n m) - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Classes__RelationClasses.symmetry - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) - (Coq__Init__Peano.le n m) - (Coq__Arith__PeanoNat.Nat__compare__le__iff n m). - -thm nat__compare__ge : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff (Coq__Init__Peano.ge n m) - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Classes__RelationClasses.symmetry - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Symmetric - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt)) - (Coq__Init__Peano.ge n m) - (Coq__Arith__PeanoNat.Nat__compare__ge__iff n m). - -def let__H4 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq)) => - __) - (Coq__Arith__PeanoNat.Nat__compare__eq__iff n0 m0). - -thm nat__compare__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Eq) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H4 n m n m. - -def let__H5 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) => - Coq__Init__Peano.lt n0 m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt)) => - __) - (Coq__Arith__PeanoNat.Nat__compare__lt__iff n0 m0). - -thm nat__compare__Lt__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Lt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H5 n m n m. - -def let__H6 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) => - Coq__Init__Peano.lt y x)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt y x) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) => - Coq__Init__Peano.lt y x)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt y x) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) => - Coq__Init__Peano.lt y x)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) => - __) - (Coq__Arith__PeanoNat.Nat__compare__gt__iff x y). - -thm nat__compare__Gt__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H6 n m n m. - -def nat__compare__alt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set Coq__Init__Datatypes.comparison - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.match____sumor cupicef.set - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m))) - (Coq__Init__Peano.lt m n) - (x : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Datatypes.comparison) - (s : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Specif.match____sumbool cupicef.set - (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Datatypes.comparison) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - Coq__Init__Datatypes.Lt) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - Coq__Init__Datatypes.Eq) - s) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Datatypes.Gt) - (lt__eq__lt__dec n m). - -def let__s2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - lt__eq__lt__dec n m. - -def let__H7 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) -> - l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Lt)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Lt)) => - __0) - (Coq__Arith__PeanoNat.Nat__compare__lt__iff n0 m0). - -def let__H8 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) -> - e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) Coq__Init__Datatypes.Eq)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n0 m0) - Coq__Init__Datatypes.Eq)) => - __0) - (Coq__Arith__PeanoNat.Nat__compare__eq__iff n0 m0). - -def let__H9 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) => - Coq__Init__Peano.lt y x)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt y x) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) => - Coq__Init__Peano.lt y x)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt y x) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt y x) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) - Coq__Init__Datatypes.Gt) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt y x) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare x y) Coq__Init__Datatypes.Gt)) => - __0) - (Coq__Arith__PeanoNat.Nat__compare__gt__iff x y). - -thm nat__compare__equiv : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) (nat__compare__alt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) - (Coq__Init__Specif.match____sumor cupicef.set - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m))) - (Coq__Init__Peano.lt m n) - (x : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Datatypes.comparison) - (s : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Specif.match____sumbool cupicef.set - (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Datatypes.comparison) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - Coq__Init__Datatypes.Lt) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - Coq__Init__Datatypes.Eq) - s) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Datatypes.Gt) - (lt__eq__lt__dec n m))) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) (nat__compare__alt n m)) - cupicef.I - (Coq__Init__Specif.match____sumor cupicef.prop - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m))) - (Coq__Init__Peano.lt m n) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) - (Coq__Init__Specif.match____sumor cupicef.set - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m))) - (Coq__Init__Peano.lt m n) - (x : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumor cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (Coq__Init__Peano.lt m n)) => - Coq__Init__Datatypes.comparison) - (s1 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Specif.match____sumbool cupicef.set - (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (s2 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Datatypes.comparison) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - Coq__Init__Datatypes.Lt) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - Coq__Init__Datatypes.Eq) - s1) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Datatypes.Gt) - s0)) - (s0 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Specif.match____sumbool cupicef.prop - (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (s1 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) - (Coq__Init__Specif.match____sumbool cupicef.set - (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (s2 : - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) => - Coq__Init__Datatypes.comparison) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - Coq__Init__Datatypes.Lt) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - Coq__Init__Datatypes.Eq) - s1)) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - let__H7 n m s0 l n m l) - (e : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - let__H8 n m s0 e n m e) - s0) - (l : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - let__H9 n m l n m l) - (let__s2 n m)). - -thm leb__iff__conv : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) - (Coq__Init__Peano.lt m n)) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - (lemma : - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m))) => - Coq__Classes__Morphisms.trans__co__eq__inv__impl__morphism - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__Transitive - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) - (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) lemma - (Coq__Init__Peano.lt m n) (Coq__Init__Peano.lt m n) - (Coq__Classes__Morphisms.eq__proper__proxy - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - (Coq__Init__Peano.lt m n))) - (Coq__Arith__PeanoNat.Nat__leb__nle n m) - (Coq__Arith__PeanoNat.Nat__nle__gt n m). - -def let__H10 : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) => - __0) - (Coq__Arith__PeanoNat.Nat__leb__le n0 m0). - -thm leb__correct : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb m n) Coq__Init__Datatypes.true) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H10 m n m n. - -def let__H11 : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Peano.le n0 m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.true)) => - __) - (Coq__Arith__PeanoNat.Nat__leb__le n0 m0). - -thm leb__complete : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb m n) Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H11 m n m n. - -def let__H12 : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false)) => - __0) - (leb__iff__conv m0 n0). - -thm leb__correct__conv : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H12 m n m n. - -def let__H13 : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) => - Coq__Init__Peano.lt m0 n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt m0 n0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) Coq__Init__Datatypes.false) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) => - Coq__Init__Peano.lt m0 n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m0 n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n0 m0) - Coq__Init__Datatypes.false)) => - __) - (leb__iff__conv m0 n0). - -thm leb__complete__conv : - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) - -:= m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H13 m n m n. - -thm leb__compare : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.true) - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - (lemma : - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) - Coq__Init__Datatypes.Gt)) - (Coq__Init__Peano.le n m)) => - Coq__Classes__Morphisms.trans__sym__co__inv__impl__morphism - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff - (Coq__Classes__RelationClasses.Equivalence__PER - (cupicef.cast (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I - (cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I)) - Coq__Init__Logic.iff Coq__Classes__RelationClasses.iff__equivalence) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__leb n m) Coq__Init__Datatypes.true) - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.comparison) - (Coq__Arith__PeanoNat.Nat__compare n m) Coq__Init__Datatypes.Gt)) - (Coq__Init__Peano.le n m) lemma) - (Coq__Arith__PeanoNat.Nat__compare__le__iff n m) - (Coq__Arith__PeanoNat.Nat__leb__le n m). - -(; End of translation. ;) diff --git a/out/Coq__Arith__Compare__dec.dk.gz b/out/Coq__Arith__Compare__dec.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..c759d80306c93cb2a2d1b879b77db7cf0b9c9540 GIT binary patch literal 9883 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 A@c;k- literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__EqNat.dk b/out/Coq__Arith__EqNat.dk deleted file mode 100644 index df90cb1c9..000000000 --- a/out/Coq__Arith__EqNat.dk +++ /dev/null @@ -1,2688 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -def eq__nat : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop - -:= cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.0 (cupicef.type (cupicef.s cupicef.z)) - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set (cupicef.type (cupicef.s cupicef.z))) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - (cupicef.type (cupicef.s cupicef.z)))) - cupicef.I Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.type (cupicef.s cupicef.z)) - (cupicef.rule cupicef.set - (cupicef.type (cupicef.s cupicef.z))) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.univ cupicef.prop - (cupicef.type (cupicef.s cupicef.z)) cupicef.I))))) - (c => - c - (eq__nat0 => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat - (cupicef.type (cupicef.s cupicef.z)) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (Coq__Init__Datatypes.match____nat - (cupicef.type (cupicef.s cupicef.z)) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - Coq__Init__Logic.True - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.False) - m) - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat - (cupicef.type (cupicef.s cupicef.z)) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - Coq__Init__Logic.False - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - eq__nat0 n1 m1) - m) - n)) - cupicef.0. - -thm eq__nat__refl : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (eq__nat n n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => eq__nat n0 n0) - (cupicef.cast cupicef.prop cupicef.prop Coq__Init__Logic.True - (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) cupicef.I - Coq__Init__Logic.I) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : cupicef.Term cupicef.prop (eq__nat n0 n0) => - cupicef.cast cupicef.prop cupicef.prop (eq__nat n0 n0) - (eq__nat (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S n0)) - cupicef.I IHn) - n. - -thm eq__nat__is__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.iff (eq__nat n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.conj - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n m) - (__ : cupicef.Term cupicef.prop (eq__nat n m) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - eq__nat n m)) - (Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat n0 m0) - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (eq__nat Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n0)) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - Coq__Init__Logic.True - (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) - cupicef.I - (H : cupicef.Term cupicef.prop Coq__Init__Logic.True => - Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O)) - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - Coq__Init__Logic.False - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) - (__ : - cupicef.Term cupicef.prop - (eq__nat Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m1)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1))) - cupicef.I - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.False__ind - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m1)) - H)) - m0) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat (Coq__Init__Datatypes.S n0) n1) - (__ : - cupicef.Term cupicef.prop - (eq__nat (Coq__Init__Datatypes.S n0) n1) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) n1)) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - Coq__Init__Logic.False - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (eq__nat (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) - cupicef.I - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.False__ind - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) - H)) - (m1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat n0 m1) - (H : cupicef.Term cupicef.prop (eq__nat n0 m1) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) - (__ : - cupicef.Term cupicef.prop - (eq__nat (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m1)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m1))) - cupicef.I - (H : cupicef.Term cupicef.prop (eq__nat n0 m1) => - Coq__Init__Peano.f__equal__nat - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.S n0 m1 (IHn m1 H))) - m0) - n m) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - eq__nat n m0) - (eq__nat__refl n) m H). - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop (eq__nat n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - eq__nat n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat n0 m0) - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - eq__nat n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - eq__nat n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop (eq__nat n0 m0)) => - __0) - (eq__nat__is__eq n0 m0). - -thm eq__eq__nat : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) -> - cupicef.Term cupicef.prop (eq__nat n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m n m. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - eq__nat n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (eq__nat n0 m0) - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - eq__nat n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I (eq__nat n0 m0) - (__0 : cupicef.Term cupicef.prop (eq__nat n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (eq__nat n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop (eq__nat n0 m0)) => - __) - (eq__nat__is__eq n0 m0). - -thm eq__nat__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (eq__nat n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H0 n m n m. - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - H : cupicef.Term cupicef.prop (P n) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H0 : cupicef.Term cupicef.prop (eq__nat n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - H : cupicef.Term cupicef.prop (P n) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (eq__nat n m) => - eq__nat__eq n m H0. - -thm eq__nat__elim : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - __ : cupicef.Term cupicef.prop (P n) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (eq__nat n m) -> - cupicef.Term cupicef.prop (P m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - H : cupicef.Term cupicef.prop (P n) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (eq__nat n m) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => P m0) H m - (let__H1 n P H m H0). - -def eq__nat__decide : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (eq__nat n m) - (Coq__Init__Logic.not (eq__nat n m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__rec - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool (eq__nat n0 m) - (Coq__Init__Logic.not (eq__nat n0 m)))) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool (eq__nat Coq__Init__Datatypes.O n0) - (Coq__Init__Logic.not (eq__nat Coq__Init__Datatypes.O n0))) - (cupicef.cast cupicef.set cupicef.set - (Coq__Init__Specif.sumbool Coq__Init__Logic.True - (Coq__Init__Logic.not Coq__Init__Logic.True)) - (Coq__Init__Specif.sumbool - (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.not - (eq__nat Coq__Init__Datatypes.O Coq__Init__Datatypes.O))) - cupicef.I - (Coq__Init__Specif.left Coq__Init__Logic.True - (Coq__Init__Logic.not Coq__Init__Logic.True) Coq__Init__Logic.I)) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast cupicef.set cupicef.set - (Coq__Init__Specif.sumbool Coq__Init__Logic.False - (Coq__Init__Logic.not Coq__Init__Logic.False)) - (Coq__Init__Specif.sumbool - (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)) - (Coq__Init__Logic.not - (eq__nat Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)))) - cupicef.I - (Coq__Init__Specif.right Coq__Init__Logic.False - (Coq__Init__Logic.not Coq__Init__Logic.False) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - Coq__Init__Logic.False - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.False)) - (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => H)))) - m) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - (Coq__Init__Specif.sumbool (eq__nat n0 m) - (Coq__Init__Logic.not (eq__nat n0 m)))) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Specif.sumbool (eq__nat (Coq__Init__Datatypes.S n0) n1) - (Coq__Init__Logic.not (eq__nat (Coq__Init__Datatypes.S n0) n1))) - (cupicef.cast cupicef.set cupicef.set - (Coq__Init__Specif.sumbool Coq__Init__Logic.False - (Coq__Init__Logic.not Coq__Init__Logic.False)) - (Coq__Init__Specif.sumbool - (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) - (Coq__Init__Logic.not - (eq__nat (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O))) - cupicef.I - (Coq__Init__Specif.right Coq__Init__Logic.False - (Coq__Init__Logic.not Coq__Init__Logic.False) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - Coq__Init__Logic.False - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => - Coq__Init__Logic.False)) - (Coq__Init__Logic.not Coq__Init__Logic.False) cupicef.I - (H : cupicef.Term cupicef.prop Coq__Init__Logic.False => H)))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast cupicef.set cupicef.set - (Coq__Init__Specif.sumbool (eq__nat n0 m0) - (Coq__Init__Logic.not (eq__nat n0 m0))) - (Coq__Init__Specif.sumbool - (eq__nat (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (Coq__Init__Logic.not - (eq__nat (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)))) - cupicef.I (IHn m0)) - m) - n. - -thm beq__nat__refl : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n n) Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb__refl n). - -def let__H2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) - Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n0 m0) Coq__Init__Datatypes.true)) => - __) - (Coq__Arith__PeanoNat.Nat__eqb__eq n0 m0). - -thm beq__nat__true : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n m) Coq__Init__Datatypes.true) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H2 n m n m. - -def let__H3 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - x : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) - Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - x y)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb x y) Coq__Init__Datatypes.false)) => - __) - (Coq__Arith__PeanoNat.Nat__eqb__neq x y). - -thm beq__nat__false : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - (Coq__Arith__PeanoNat.Nat__eqb n m) Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H3 n m n m. - -def let__H4 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop Coq__Init__Logic.False - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => - Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) - (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => - cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - Coq__Init__Logic.True Coq__Init__Logic.False e) - Coq__Init__Logic.I Coq__Init__Datatypes.false H. - -def let__H5 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m)) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) -> - cupicef.Term cupicef.prop Coq__Init__Logic.False - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m)) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (e : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => - Coq__Init__Datatypes.match____bool (cupicef.type (cupicef.s cupicef.z)) - (b : cupicef.Term cupicef.set Coq__Init__Datatypes.bool => - cupicef.univ cupicef.prop (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - Coq__Init__Logic.True Coq__Init__Logic.False e) - Coq__Init__Logic.I Coq__Init__Datatypes.false H. - -def beq__nat__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true (Coq__Arith__PeanoNat.Nat__eqb n0 m)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb n0 m)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m))) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O n0)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n0)) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.true) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O - Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O - Coq__Init__Datatypes.O)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O)) - cupicef.I - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.true) => - Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O)) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S m0))) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0))) - cupicef.I - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.False__ind - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S m0)) - (let__H4 n m m0 H))) - m) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb n0 m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m)) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) n1)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) - n1)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) n1)) - (cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O)) - cupicef.I - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true Coq__Init__Datatypes.false) => - Coq__Init__Logic.False__ind - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) Coq__Init__Datatypes.O) - (let__H5 n n0 IHn m H))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb - (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S m0))) - cupicef.I - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.bool) - Coq__Init__Datatypes.true - (Coq__Arith__PeanoNat.Nat__eqb n0 m0)) => - Coq__Init__Logic.match____eq cupicef.prop - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 - (y : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 y) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0) (Coq__Init__Datatypes.S y)) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S n0)) - m0 (IHn m0 H))) - m) - n. - -(; End of translation. ;) diff --git a/out/Coq__Arith__EqNat.dk.gz b/out/Coq__Arith__EqNat.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..77abe4a9d3c0ac66a3ba8c90e88d85e717f2ed78 GIT binary patch literal 5081 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 - cupicef.Term cupicef.set Coq__Init__Datatypes.nat - -:= cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.0 cupicef.set - (cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))) - (c => - c - (fact0 => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Nat.mul (Coq__Init__Datatypes.S n0) (fact0 n0)) - n)) - cupicef.0. - -thm lt__O__fact : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n0)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (fact Coq__Init__Datatypes.O)) - cupicef.I - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - cupicef.I - (Coq__Init__Peano.le__n - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O (fact n0)) => - cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (fact (Coq__Init__Datatypes.S n0))) - cupicef.I - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) - (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) - (Coq__Init__Peano.lt Coq__Init__Datatypes.O - (Coq__Init__Nat.add (fact n0) (Coq__Init__Nat.mul n0 (fact n0)))) - cupicef.I - (Coq__Arith__Plus.le__plus__trans - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O) (fact n0) - (Coq__Init__Nat.mul n0 (fact n0)) IHn))) - n. - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) => - __0) - (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). - -thm fact__neq__0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (fact n) Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n (fact n) (lt__O__fact n). - -thm fact__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le (fact n) (fact m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Peano.le__ind n - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Peano.le (fact n) (fact m0)) - (Coq__Init__Peano.le__n (fact n)) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m0) => - IHle : - cupicef.Term cupicef.prop (Coq__Init__Peano.le (fact n) (fact m0)) => - cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le (fact n) - (Coq__Init__Nat.add (fact m0) (Coq__Init__Nat.mul m0 (fact m0)))) - (Coq__Init__Peano.le (fact n) (fact (Coq__Init__Datatypes.S m0))) - cupicef.I - (Coq__Classes__RelationClasses.transitivity - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Peano.le - (Coq__Classes__RelationClasses.PreOrder__Transitive - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Peano.le Coq__Arith__PeanoNat.Nat__le__preorder) - (fact n) (fact m0) - (Coq__Init__Nat.add (fact m0) (Coq__Init__Nat.mul m0 (fact m0))) - IHle - (Coq__Arith__PeanoNat.Nat__le__add__r (fact m0) - (Coq__Init__Nat.mul m0 (fact m0))))) - m H. - -(; End of translation. ;) diff --git a/out/Coq__Arith__Factorial.dk.gz b/out/Coq__Arith__Factorial.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..1d691cb7f05ff62b62fb532f8ab607133147012f GIT binary patch literal 1408 zcmV-`1%LV@2`Uq)eLbZ>HLVQemBYXI$AOK;ma5WeeI z5Ixz48s2My7AU$4I6%<^+uRARL?yV50+HN$yuz8R7k zt!}~NGpWIzf7K84FBF`lcgJGQ0;Tp%^fl;Z_O^FAKQ7~3Im3#q$FZN zn?6H!wbZ(aqT3k$&^kkqrKI|zX1-rvR?W|-*%ZfIs}$X?&r`*21!d^@k;7n0l1oq2LlHx?ERCF5TW$S{}sdo{Ki2FQM>NW+#y z5Bag~AbVgp5H=N}b(mWRWo9gsbZ^nh4WOIT-XO<}d>6Wi@XR9}FNA#x(WVclq|r{J z`x{?uwPJk?z0-|NX#aT@fKl!bl(^;p``j+A^C{O+#V zIHrwaTy>Vjh(3^Bk171zVlajOZnc|Wv8^rNp$pxh`YQz~--aQYDH6SUt8A#9%5Abl zui7XZ(WNF35GIKCM44TbMF=xJ0^J0Tq-aA|5*NiL^B{WP#c?0dBUN~3xAzBT#B#lP z*_ntjEna~|WNWCT@D{xn5aZ%N#>t8`U9KT-7Hu2%vfy}jT8uQ~Sr4HGsk44?M@4rT zprJeFvsiFV&qc0VU@R1j3VWLssK%E|EwmK4)WXZx!ZT_GNZ8;(4p?+PmX%y#nF=I6 z_mrU5PF10mgz6#i0OnKzv*kVsZtp(tTJ|YUm0jkU!LrJchFVrRcB22ws~pw8 zjeqHriS2SUu^de-M-#fEiRH+CIkLAZiT|G?`?sT9ZiNQNVlk=~VtKk+wFGw;{3z zhpq>8i~i_ym^e!9wERY=jd%QayFTJY@Os8j0_% O-Tn{o*$%ftKL7xHYPv`O literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__Gt.dk b/out/Coq__Arith__Gt.dk deleted file mode 100644 index e2bcb94e8..000000000 --- a/out/Coq__Arith__Gt.dk +++ /dev/null @@ -1,1422 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -thm gt__Sn__O : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) Coq__Init__Datatypes.O) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__0__succ n. - -thm gt__Sn__n : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__succ__diag__r n. - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). - -thm gt__n__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) - (Coq__Init__Datatypes.S m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m m n. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). - -thm gt__S__n : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) - (Coq__Init__Datatypes.S n)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H0 n m n m. - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__eq__cases n0 m0). - -def let__H2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). - -thm gt__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.gt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => - let__H1 n m H m n (let__H2 n m H m n H). - -def let__H3 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 - (Coq__Arith__PeanoNat.Nat__pred m0)) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__succ__lt__pred n0 m0). - -thm gt__pred : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt m (Coq__Init__Datatypes.S n)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt (Coq__Init__Nat.pred m) n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H3 n m n m. - -thm gt__irrefl : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt n n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__irrefl n. - -thm gt__asym : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__lt__asymm m n. - -def let__H4 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__le__ngt n0 m0). - -thm le__not__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.gt n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H4 n m n m. - -def let__H5 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). - -thm gt__not__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.le n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H5 n m m n. - -def let__H6 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). - -thm le__S__gt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H6 n m n m. - -def let__H7 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). - -thm gt__S__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) n) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H7 n m n m. - -def let__H8 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). - -thm gt__le__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m n) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H8 n m n m. - -def let__H9 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). - -thm le__gt__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S m) n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H9 n m n m. - -thm le__gt__trans : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => - Coq__Arith__PeanoNat.Nat__lt__le__trans p m n H0 H. - -thm gt__le__trans : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p m) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p m) => - Coq__Arith__PeanoNat.Nat__le__lt__trans p m n H0 H. - -thm gt__trans : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => - Coq__Arith__PeanoNat.Nat__lt__trans p m n H0 H. - -def let__H10 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__succ__le__mono n0 m0). - -thm gt__trans__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n) m) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.gt m p) => - Coq__Arith__PeanoNat.Nat__lt__le__trans p m n H0 - (let__H10 n m p H H0 m n H). - -thm gt__0__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.gt n Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.or (Coq__Init__Peano.gt n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n0)) - (Coq__Init__Logic.or__intror - (Coq__Init__Peano.gt Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O)) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.or__introl - (Coq__Init__Peano.gt (Coq__Init__Datatypes.S n0) - Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Datatypes.S n0)) - (Coq__Arith__PeanoNat.Nat__lt__0__succ n0)) - n. - -def let__H11 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). - -thm plus__gt__reg__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H11 n m p m n p. - -def let__H12 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add p0 n0) - (Coq__Arith__PeanoNat.Nat__add p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__add__lt__mono__l n0 m0 p0). - -thm plus__gt__compat__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.gt n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.gt (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H12 n m p m n p. - -(; End of translation. ;) diff --git a/out/Coq__Arith__Gt.dk.gz b/out/Coq__Arith__Gt.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..5182b69575aec5545895ae2e97e6b42a4e145e28 GIT binary patch literal 2832 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 i12Mfrzft&-KB4?fz$VU;l+4lHZ1O*S8ri - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) => - Coq__Init__Peano.le n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) => - Coq__Init__Peano.le n0 Coq__Init__Datatypes.O))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le n0 Coq__Init__Datatypes.O)) => - __) - (Coq__Arith__PeanoNat.Nat__le__0__r n0). - -thm le__n__0__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.le n Coq__Init__Datatypes.O) => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n Coq__Init__Datatypes.O (let__H0 n H n H). - -thm le__n__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) - (Coq__Init__Datatypes.S m)) - -:= Coq__Init__Peano.le__n__S. - -thm le__S__n : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) - (Coq__Init__Datatypes.S m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) - -:= Coq__Init__Peano.le__S__n. - -thm le__Sn__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) - -:= Coq__Arith__PeanoNat.Nat__lt__le__incl. - -thm le__elim__rel : - P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) -> - __ : - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O p)) -> - __0 : - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> - __1 : cupicef.Term cupicef.prop (P p q) -> - cupicef.Term cupicef.prop - (P (Coq__Init__Datatypes.S p) (Coq__Init__Datatypes.S q))) -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __1 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop (P n m) - -:= P : - (__ : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Univ cupicef.prop) => - H0 : - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop (P Coq__Init__Datatypes.O p)) => - HS : - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> - __0 : cupicef.Term cupicef.prop (P p q) -> - cupicef.Term cupicef.prop - (P (Coq__Init__Datatypes.S p) (Coq__Init__Datatypes.S q))) => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.rule cupicef.prop cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.prop cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m) => - P n0 m))) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le Coq__Init__Datatypes.O m) => - H0 m) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m) -> - cupicef.Term cupicef.prop (P n0 m)) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Le : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m) => - Coq__Init__Peano.le__ind (Coq__Init__Datatypes.S n0) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - P (Coq__Init__Datatypes.S n0) m0) - (HS n0 n0 (Coq__Init__Peano.le__n n0) - (IHn n0 (Coq__Init__Peano.le__n n0))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - H1 : cupicef.Term cupicef.prop (P (Coq__Init__Datatypes.S n0) m0) => - HS n0 m0 (le__Sn__le n0 m0 H) (IHn m0 (le__Sn__le n0 m0 H))) - m Le) - n. - -(; End of translation. ;) diff --git a/out/Coq__Arith__Le.dk.gz b/out/Coq__Arith__Le.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..7767122f78ca7bb2055d736d5c41335fc84a7c98 GIT binary patch literal 1270 zcmV@2`Urc2#WNQHJTT5@-FbuxuR}ekfhX&cT zMF$MqfD|aU0PW6(=c=s%TTWtUTlecH`62I?3jp!-?Y`JTzzEo&7#B;jGAtJRJ#3`nmAyq#WNFe$ZIe`7t&A0U zS3IZ567A{-^jSALiOXvEMa2)l%3kK*FzjZsljA>Wk;`X`1&Ku+aQcfw)X*jd+*`Q< zQ&V{b9@i~1x4$WksD89OI2Mbm8%qM+(6H(m?X8CNx;;YXNL7MN;5Uut^O5N#Zp@NLe>l zOLtz_sx|n-GT@jY1N*PUZ zXO2~RTHBNu6^_231Vt3{PxV5%zRc^jMycN6{myyvHI!Z z>md~DBOmjLkNL!h zgk|E$0Q`Ordh~xB$&wGQBJ*g z&8N9rDmD-7+&JU*lLMhW_mrreJ0&CXu;H>mY6ByK>OHx0W>nP$ZZTe~0YplWCR`); zsT^GjCyOqoEy90@?{r}6peJsr+O{giNyb2lvNR`+7Ru@cZQ5l8a#~J<1MORq!~AaW z4>s>N`*S@0!Pbi&0n8g>nx~5i37d?A{7%dBAL87cvq)s3mOp@slqIWP&Wli3eqm zc43F?xkx<$gJmtEaP$Q280JhdXO5{z);6B~-iBjW6oujoISeLchX~P;E-FAn3_)XeguR_jw!Z!_)wp0Qb|2Vq44tk}jthP11NB@ad zOy4zG+vo%uP3qyH-^Hx`eKDLsg;zV-x*AEVVJ2t<%xh+IXB{@6N**$3<|K~09U1bb g6&+#RQnj0SzM(BuK!= - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n0) m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__le__succ__l n0 m0). - -thm lt__le__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Datatypes.S n) m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m n m. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) => - __) - (Coq__Arith__PeanoNat.Nat__lt__succ__r n0 m0). - -thm lt__n__Sm__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n (Coq__Init__Datatypes.S m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H0 n m n m. - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Init__Datatypes.S m0))) => - __0) - (Coq__Arith__PeanoNat.Nat__lt__succ__r n0 m0). - -thm le__lt__n__Sm : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n (Coq__Init__Datatypes.S m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H1 n m n m. - -def let__H2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.lt m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__le__ngt n0 m0). - -thm le__not__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H2 n m n m. - -def let__H3 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). - -thm lt__not__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - cupicef.Term cupicef.prop (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H3 n m n m. - -def let__H4 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) => - __) - (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). - -thm neq__0__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) => - let__H4 n H n - (Coq__Arith__PeanoNat.Nat__neq__sym Coq__Init__Datatypes.O n H). - -def let__H5 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) => - __0) - (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). - -thm lt__0__neq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => - Coq__Arith__PeanoNat.Nat__neq__sym n Coq__Init__Datatypes.O - (let__H5 n H n H). - -def let__H6 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). - -thm lt__n__S : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) - (Coq__Init__Datatypes.S m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H6 n m n m. - -def let__H7 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) - (Coq__Init__Datatypes.S m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__succ__lt__mono n0 m0). - -thm lt__S__n : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) - (Coq__Init__Datatypes.S m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H7 n m n m. - -thm S__pred : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n)) n - (Coq__Arith__PeanoNat.Nat__lt__succ__pred m n H). - -thm S__pred__pos : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Datatypes.S (Coq__Init__Nat.pred n))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - S__pred n Coq__Init__Datatypes.O. - -def let__H8 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 - (Coq__Arith__PeanoNat.Nat__pred m0)) => - Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__pred m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n0) m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__succ__lt__pred n0 m0). - -thm lt__pred : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Datatypes.S n) m) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n (Coq__Init__Nat.pred m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H8 n m n m. - -def let__H9 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) => - Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0)) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O n0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O))) => - __0) - (Coq__Arith__PeanoNat.Nat__neq__0__lt__0 n0). - -thm lt__pred__n__n : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt (Coq__Init__Nat.pred n) n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O n) => - Coq__Arith__PeanoNat.Nat__lt__pred__l n (let__H9 n H n H). - -def let__H10 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Peano.le n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __) - (Coq__Arith__PeanoNat.Nat__lt__eq__cases n0 m0). - -thm le__lt__or__eq : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H10 n m n m. - -def let__H11 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) => - Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) => - Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n0 m0) - (Coq__Init__Peano.lt m0 n0)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m0))) => - __) - (Coq__Arith__PeanoNat.Nat__lt__gt__cases n0 m0). - -thm nat__total__order : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n m)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or (Coq__Init__Peano.lt n m) (Coq__Init__Peano.lt m n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H11 n m n m. - -(; End of translation. ;) diff --git a/out/Coq__Arith__Lt.dk.gz b/out/Coq__Arith__Lt.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..11c83dee2a67be6df4a8028e17c5deebbcb03da8 GIT binary patch literal 3218 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 E06rf@ssI20 literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__Minus.dk b/out/Coq__Arith__Minus.dk deleted file mode 100644 index c5dee9532..000000000 --- a/out/Coq__Arith__Minus.dk +++ /dev/null @@ -1,796 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -thm minus__n__O : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Nat.sub n Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n Coq__Init__Datatypes.O) n - (Coq__Arith__PeanoNat.Nat__sub__0__r n). - -thm minus__Sn__m : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S (Coq__Init__Nat.sub n m)) - (Coq__Init__Nat.sub (Coq__Init__Datatypes.S n) m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le m n) => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub (Coq__Init__Datatypes.S n) m) - (Coq__Init__Datatypes.S (Coq__Init__Nat.sub n m)) - (Coq__Arith__PeanoNat.Nat__sub__succ__l m n H). - -thm pred__of__minus : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.pred n) - (Coq__Init__Nat.sub n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.pred n) (Coq__Arith__PeanoNat.Nat__sub__1__r n). - -thm minus__diag__reverse : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O (Coq__Init__Nat.sub n n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n n) Coq__Init__Datatypes.O - (Coq__Arith__PeanoNat.Nat__sub__diag n). - -thm minus__plus__simpl__l__reverse : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) - (Coq__Init__Nat.sub (Coq__Init__Nat.add p n) (Coq__Init__Nat.add p m))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub - (Coq__Arith__PeanoNat.Nat__sub (Coq__Init__Nat.add p n) p) m) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) n0) - (Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add n p) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) - (Coq__Arith__PeanoNat.Nat__sub - (Coq__Arith__PeanoNat.Nat__sub n0 p) m)) - (Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) (Coq__Arith__PeanoNat.Nat__sub n0 m)) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n m)) - (Coq__Arith__PeanoNat.Nat__sub (Coq__Arith__PeanoNat.Nat__add n p) - p) - (Coq__Arith__PeanoNat.Nat__add__sub n p)) - (Coq__Arith__PeanoNat.Nat__add p n) - (Coq__Arith__PeanoNat.Nat__add__comm p n)) - (Coq__Arith__PeanoNat.Nat__sub (Coq__Init__Nat.add p n) - (Coq__Arith__PeanoNat.Nat__add p m)) - (Coq__Arith__PeanoNat.Nat__sub__add__distr (Coq__Init__Nat.add p n) p m). - -thm plus__minus : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Nat.add m p)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - p (Coq__Init__Nat.sub n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Nat.add m p)) => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) p - (Coq__Arith__PeanoNat.Nat__add__sub__eq__l n m p - (Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Arith__PeanoNat.Nat__add m p) H)). - -thm minus__plus : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub (Coq__Init__Nat.add n m) n) m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add m n) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n0 n) m) - (Coq__Arith__PeanoNat.Nat__add__sub m n) - (Coq__Arith__PeanoNat.Nat__add n m) - (Coq__Arith__PeanoNat.Nat__add__comm n m). - -thm le__plus__minus__r : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n)) m) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add (Coq__Init__Nat.sub m n) n) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n m) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m)) - (Coq__Arith__PeanoNat.Nat__sub__add n m) - (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.sub m n)) - (Coq__Arith__PeanoNat.Nat__add__comm n (Coq__Init__Nat.sub m n)). - -thm le__plus__minus : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add n (Coq__Init__Nat.sub m n)) m - (Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add (Coq__Init__Nat.sub m n) n) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 m) - (Coq__Arith__PeanoNat.Nat__sub__add n m H) - (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.sub m n)) - (Coq__Arith__PeanoNat.Nat__add__comm n (Coq__Init__Nat.sub m n))). - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__add n0 p) m0) => - Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 - (Coq__Arith__PeanoNat.Nat__sub m0 p)) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt n0 (Coq__Arith__PeanoNat.Nat__sub m0 p)) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__add n0 p) m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__lt__add__lt__sub__r n0 m0 p). - -thm lt__O__minus__lt : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O (Coq__Init__Nat.sub n m)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt m n) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m Coq__Init__Datatypes.O n m. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) - Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) - Coq__Init__Datatypes.O) => - Coq__Init__Peano.le n0 m0)) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) - Coq__Init__Datatypes.O))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__sub n0 m0) Coq__Init__Datatypes.O)) => - __0) - (Coq__Arith__PeanoNat.Nat__sub__0__le n0 m0). - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) => - Coq__Init__Peano.lt n0 m0)) - (__ : - (__ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m0 n0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__lt__nge n0 m0). - -thm not__le__minus__0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.sub n m) Coq__Init__Datatypes.O) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.not (Coq__Init__Peano.le m n)) => - let__H0 n m H n m - (Coq__Arith__PeanoNat.Nat__lt__le__incl n m (let__H1 n m H n m H)). - -(; End of translation. ;) diff --git a/out/Coq__Arith__Minus.dk.gz b/out/Coq__Arith__Minus.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..d2b3dd585f9c46d4f32b6c906e44fc444144da3d GIT binary patch literal 2150 zcmV-s2$}aEiwFpw=F?*U14D0dUtd9TX>@2`UrlLlb#pFcYXI$CO^@3)5WV|X5INb0 z7|L}QDNwWp9H8hHNbZCpYj*`mlp@J#x4*umY{`=FJ;&q+LFe zZ?8#3o|7~t|AZ9@cXghHbrOYX`bJ)27MEciZ^`#J@>~8RVey(gt`Li z$gbi=c=ZSJp^md6Mi~2PqS;BS|rHs-i@~|L;kp~j(iX@7k*WcnY>wc-? zTJ%Ke7nanN{vOt0{Z_=)nuRs__zSNptyYwI!M`J9*{l3#{*pxN_($`F_^vG-g;jn0 zO|*aft?JtRZ?$S`_A7_~CV2+emNz7CYR8hFgPB{7i5yqs3*3S2P=_5L&KnwT_aV6R zU1>Jh;J?CpUG2W}Po))~c<+mc&yHaGEWk!2aH6z&%NA1+g|@DEXp(FW9+EI|BpIkN zhOF>ISijP*Wm3OV`ga_%TvX-%I2Lx_DGews30tiPWcQV`T{e~NGWV*KLUjdO4i=)B z(wh5#jL*W;?A_DsQd;6GU_9AMTCptvHO7&aAuzO?h3xBY94*BA22}W8vu{wMcU;ZF zT69jO+C>qisX!drw7#V%<1MB6Gj}b*%Xl&ESssPu1@r{AIIdM(&Ooq33fxO@PqRi6 z+!k2!whkE9lItg#V&5j=3;#U+8JAV;snt`fGquV=3m~6)lJq2LMv|P_Cfl*>&t{+n=eQFzw%tZQvCkj-Su?@vDqw_A?CPC=Z0kzpv>DMuD=wxMtm z3F84}c`-jB#nLtS2B1Ngc_9!##No$TDT~3dE_&w{ESLZ$IiAL=?n0-iyn;!na*9Hw zRAf#CMr^^VAgvM>NW_YqSuTbMt*)CL1#q)iT;sIAQYsO&!8m6e%TDDCqNa_>II&np zLjyuZ4hSA|{Ft%GXdTAi_lr2LjcPhJ5F~o>b}XayjV6UTdF_3noaaCmBNqgyiIcbz zP%0Zon6GMxmOx{Jy+q(MqNOx~0GiP{p39&?XxVkx>jmDr)9z5_q;3RWJDlYs3ZxQi zuo8v*(i2>^0x9-LaAo|Qda!!1B7zmhq#Tl(FxE_(?tco?=6U^gOvOk9fISwy3sPe{W}I8l3~!rMb*VTh;LWvJ2h9;NO2)xF$HF2PZqY}y{Crq_LOhul zQ3DfP1qiSJZb+h~waJVIOv8%D#yQ5qBr?Gg{*K}9?-&YDkKOLQz~(@XT6WaX<7C~4 zyVb}sG9;9ck8SkYZ@TV-rede}R7B~s5>SzWX&91$8t*$8ixyhl+3Iad1qf16jTFbF zQbXlr75vHYB#OCEYz|Jxj%GTZ0RtaFIb^ev&+D-FzH(oM>UWXFhkV2~u2m}Lg7K40>f_TM?sSK>rp-3zrtEn9 zn8t0E>cO>_H}+Ut1g zEZ#>A0Is5!Hl}%V##(O=52&}GGjpdHY16au=uobzA@)F8RsN0iJnXQPr zxfhJ|+>yUNK|(PmhNp`)ivVC;%|Bl8&K|GODs+M%(ur5KUe$uC) T}w8`=+=r` zZ4-KZD+KN~e&zy~f3ulU*E(A1zS{|PFP#{9&?>c#8+tuprj4KEoivF#bH+u7 zcw8J902Ah44Py6T#vR=_KOxBSTDAl6;ShJ$qXDO@w%|yX<}tg!Y&{bANZ*G2T24TGFhnL#K*fwd>&G0g0ip$|~xlVAsJJt}s*1$C33XCDi!86JTd>dUHcDHZxPhF*Mb5?Tu`jhq27o zY7(>pN;_j1a2n?^+8tcqr-49)7_)){`Pvve;G#zOrSrMD}1c&vHLwg?PzkoFaerQz?7ynEnL8 z`N?C7IUxjBT4Ouw0~$8!OV^8PrCc7gU@tx0E*`Dm!xUn^d$?lGO#HKG-J^t8x9U^c zM;%Oyt8tI3rNgy|m7zy$?lX(Med?xpr-%68h&%*MBrMwh35R7H@po+;-o(FrB!BQ= cC4VM$8L}!3>m+Au^0-?34?3{DoOYN10O-mtiU0rr literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__Mult.dk b/out/Coq__Arith__Mult.dk deleted file mode 100644 index 16146079c..000000000 --- a/out/Coq__Arith__Mult.dk +++ /dev/null @@ -1,2942 +0,0 @@ -(; This file was automatically generated by Coqine. ;) -(; The encoding used was: "template_cic". ;) - -thm mult__assoc__reverse : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul (Coq__Init__Nat.mul n m) p) - (Coq__Init__Nat.mul n (Coq__Init__Nat.mul m p))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n (Coq__Init__Nat.mul m p)) - (Coq__Init__Nat.mul (Coq__Init__Nat.mul n m) p) - (Coq__Arith__PeanoNat.Nat__mul__assoc n m p). - -def let__H : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) => - Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - Coq__Init__Datatypes.O) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - Coq__Init__Datatypes.O) => - Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - Coq__Init__Datatypes.O))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) => - Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) Coq__Init__Datatypes.O)) => - __) - (Coq__Arith__PeanoNat.Nat__eq__mul__0 n0 m0). - -thm mult__is__O : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) Coq__Init__Datatypes.O) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m Coq__Init__Datatypes.O)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H n m n m. - -def let__H0 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => - Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => - Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) => - Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) - (__ : - (__ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)))) => - __0 : - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m0 (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__mul n0 m0) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) => - __) - (Coq__Arith__PeanoNat.Nat__eq__mul__1 n0 m0). - -thm mult__is__one : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H0 n m n m. - -thm mult__O__le : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m Coq__Init__Datatypes.O) - (Coq__Init__Peano.le n (Coq__Init__Nat.mul m n))) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.prop - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.or - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 Coq__Init__Datatypes.O) - (Coq__Init__Peano.le n (Coq__Init__Nat.mul n0 n))) - (Coq__Init__Logic.or__introl - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Peano.le n (Coq__Init__Nat.mul Coq__Init__Datatypes.O n)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O Coq__Init__Datatypes.O) - cupicef.I - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - Coq__Init__Datatypes.O))) - (m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.or__intror - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Datatypes.S m0) Coq__Init__Datatypes.O) - (Coq__Init__Peano.le n - (Coq__Init__Nat.mul (Coq__Init__Datatypes.S m0) n)) - (cupicef.cast cupicef.prop cupicef.prop - (Coq__Init__Peano.le n - (Coq__Arith__PeanoNat.Nat__add n (Coq__Init__Nat.mul m0 n))) - (Coq__Init__Peano.le n - (Coq__Init__Nat.mul (Coq__Init__Datatypes.S m0) n)) - cupicef.I - (Coq__Arith__PeanoNat.Nat__le__add__r n (Coq__Init__Nat.mul m0 n)))) - m. - -thm mult__le__compat__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Nat.mul p n) (Coq__Init__Nat.mul p m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg__l n m p - (Coq__Arith__PeanoNat.Nat__le__0__l p). - -thm mult__le__compat__r : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m p)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg__r n m p - (Coq__Arith__PeanoNat.Nat__le__0__l p). - -thm mult__le__compat : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m q)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.le n m) => - H0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le p q) => - Coq__Arith__PeanoNat.Nat__mul__le__mono__nonneg n m p q - (Coq__Arith__PeanoNat.Nat__le__0__l n) H - (Coq__Arith__PeanoNat.Nat__le__0__l p) H0. - -def let__H1 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.lt n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (__0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => - __1 : - (__1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__l p0 n0 m0 __). - -thm mult__S__lt__compat__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt m p) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) m) - (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) p)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H1 n m p (Coq__Init__Datatypes.S n) m p - (Coq__Arith__PeanoNat.Nat__lt__0__succ n). - -def let__H2 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.lt n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (__0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => - __1 : - (__1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__l p0 n0 m0 __). - -thm mult__lt__compat__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - __0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Nat.mul p n) (Coq__Init__Nat.mul p m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => - let__H2 n m p H H0 p n m H0 H. - -def let__H3 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> - __0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) => - Coq__Init__Peano.lt n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt - (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) => - Coq__Init__Peano.lt n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.lt n0 m0) - (__1 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) => - Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0))) - (__0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0))) => - __1 : - (__1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Arith__PeanoNat.Nat__mul n0 p0) - (Coq__Arith__PeanoNat.Nat__mul m0 p0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.lt n0 m0)) => - __0) - (Coq__Arith__PeanoNat.Nat__mul__lt__mono__pos__r p0 n0 m0 __). - -thm mult__lt__compat__r : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) -> - __0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt (Coq__Init__Nat.mul n p) (Coq__Init__Nat.mul m p)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - H : cupicef.Term cupicef.prop (Coq__Init__Peano.lt n m) => - H0 : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p) => - let__H3 n m p H H0 p n m H0 H. - -def let__H4 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) -> - __0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.lt Coq__Init__Datatypes.O p0) => - Coq__Init__Logic.match____and cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.le n0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.and - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le n0 m0) - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) => - Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__0 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le - (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.le n0 m0))) => - cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) - (__1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) => - Coq__Init__Peano.le n0 m0)) - (__0 : - (__0 : cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0) -> - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0))) => - __1 : - (__1 : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Arith__PeanoNat.Nat__mul p0 n0) - (Coq__Arith__PeanoNat.Nat__mul p0 m0)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le n0 m0)) => - __1) - (Coq__Arith__PeanoNat.Nat__mul__le__mono__pos__l n0 m0 p0 __). - -thm mult__S__le__reg__l : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - __ : - cupicef.Term cupicef.prop - (Coq__Init__Peano.le (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) m) - (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n) p)) -> - cupicef.Term cupicef.prop (Coq__Init__Peano.le m p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - let__H4 n m p m p (Coq__Init__Datatypes.S n) - (Coq__Arith__PeanoNat.Nat__lt__0__succ n). - -thm odd__even__lem : - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q))) - -:= p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - q : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast (cupicef.rule cupicef.prop cupicef.prop) cupicef.prop - (cupicef.prod cupicef.prop cupicef.prop - (cupicef.rule cupicef.prop cupicef.prop) cupicef.I - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q)) - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q)) => - Coq__Init__Logic.False)) - (Coq__Init__Logic.not - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q))) - cupicef.I - (H : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q)) => - Coq__Arith__PeanoNat.Nat__Even__Odd__False - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q) - (Coq__Init__Logic.ex__intro - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - m)) - q - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q))) - (Coq__Init__Logic.ex__intro - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - m) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O))) - p - (Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - p) - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - (Coq__Init__Nat.mul - (Coq__Init__Datatypes.S - (Coq__Init__Datatypes.S Coq__Init__Datatypes.O)) - q) - H))). - -def mult__acc : - s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set Coq__Init__Datatypes.nat - -:= cupicef.fixproj cupicef.1 - (c => - c - (cupicef.SA cupicef.2 cupicef.set - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set cupicef.set)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set cupicef.set))) - cupicef.I Coq__Init__Datatypes.nat - (s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - (cupicef.rule cupicef.set cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))))) - (c => - c - (mult__acc0 => - s : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.match____nat cupicef.set - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat) - s - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - mult__acc0 (Coq__Arith__Plus.tail__plus m s) m p) - n)) - cupicef.0. - -def let__H5 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 n0) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) - (mult__acc m p n0))) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0. - -def let__H6 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - p p) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) - (mult__acc m p n0))) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - p. - -def let__H7 : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) (mult__acc m p n0))) -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add m p) (Coq__Arith__Plus.tail__plus p m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) - (mult__acc m p n0))) => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add p m) - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n1 (Coq__Arith__Plus.tail__plus p m)) - (Coq__Arith__Plus.plus__tail__plus p m) - (Coq__Arith__PeanoNat.Nat__add m p) - (Coq__Arith__PeanoNat.Nat__add__comm m p). - -thm mult__acc__aux : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n p)) (mult__acc m p n)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat__ind - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.prop - (cupicef.rule cupicef.set cupicef.prop) cupicef.I - Coq__Init__Datatypes.nat - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) - (mult__acc m p n0)))) - (cupicef.cast - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.prop - (cupicef.rule cupicef.set cupicef.prop) cupicef.I - Coq__Init__Datatypes.nat - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m Coq__Init__Datatypes.O) m))) - (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.prop - (cupicef.rule cupicef.set cupicef.prop) cupicef.I - Coq__Init__Datatypes.nat - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m - (Coq__Init__Nat.mul Coq__Init__Datatypes.O p)) - (mult__acc m p Coq__Init__Datatypes.O)))) - cupicef.I - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__sym - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - m (Coq__Init__Nat.add m Coq__Init__Datatypes.O) - (Coq__Init__Peano.plus__n__O m))) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - IHn : - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m (Coq__Init__Nat.mul n0 p)) - (mult__acc m p n0))) => - cupicef.cast - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.prop - (cupicef.rule cupicef.set cupicef.prop) cupicef.I - Coq__Init__Datatypes.nat - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) - (Coq__Arith__PeanoNat.Nat__add m - (Coq__Arith__PeanoNat.Nat__add p - (Coq__Init__Nat.mul n0 p)))))) - (cupicef.prod cupicef.set (cupicef.rule cupicef.set cupicef.prop) - (cupicef.rule cupicef.set (cupicef.rule cupicef.set cupicef.prop)) - cupicef.I Coq__Init__Datatypes.nat - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.prop - (cupicef.rule cupicef.set cupicef.prop) cupicef.I - Coq__Init__Datatypes.nat - (p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add m - (Coq__Init__Nat.mul (Coq__Init__Datatypes.S n0) p)) - (mult__acc m p (Coq__Init__Datatypes.S n0))))) - cupicef.I - (m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - p : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add (Coq__Arith__PeanoNat.Nat__add m p) - (Coq__Init__Nat.mul n0 p)) - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) - (Coq__Init__Logic.eq__ind__r - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s cupicef.z))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (mult__acc (Coq__Arith__PeanoNat.Nat__add m p) p n0) - (n1 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n1 (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0)) - ((H0 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Arith__PeanoNat.Nat__add m p) - (Coq__Arith__Plus.tail__plus p m)) => - H1 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - p p) => - H2 : - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0 n0) => - Coq__Init__Logic.eq__trans - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (mult__acc (Coq__Init__Nat.add m p) p n0) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p n0) - (Coq__Init__Logic.f__equal - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) cupicef.I - Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))) - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (f : - (n1 : - cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set Coq__Init__Datatypes.nat) => - f n0) - (mult__acc (Coq__Init__Nat.add m p) p) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p) - (Coq__Init__Logic.eq__trans - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))) - (mult__acc (Coq__Init__Nat.add m p) p) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p) - (Coq__Init__Logic.f__equal - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))) - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))) - (f : - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat -> - n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat) => - f p) - (mult__acc (Coq__Init__Nat.add m p)) - (mult__acc (Coq__Arith__Plus.tail__plus p m)) - (Coq__Init__Logic.eq__trans - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))) - (mult__acc (Coq__Init__Nat.add m p)) - (mult__acc (Coq__Init__Nat.add m p)) - (mult__acc (Coq__Arith__Plus.tail__plus p m)) - (Coq__Init__Logic.f__equal - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set))) - cupicef.I Coq__Init__Datatypes.nat - (s : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - cupicef.I - Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))))) - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))) - (f : - (s : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat -> - m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat -> - n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat) => - f (Coq__Init__Nat.add m p)) - mult__acc mult__acc - (Coq__Init__Logic.eq__refl - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s - (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set))) - cupicef.I Coq__Init__Datatypes.nat - (s : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - cupicef.I - Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set - cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - cupicef.I - Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))))) - mult__acc)) - (Coq__Init__Logic.f__equal - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set - (cupicef.rule cupicef.set cupicef.set) - (cupicef.rule cupicef.set - (cupicef.rule cupicef.set - cupicef.set)) - cupicef.I Coq__Init__Datatypes.nat - (m0 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set - cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat)))) - mult__acc (Coq__Init__Nat.add m p) - (Coq__Arith__Plus.tail__plus p m) H0))) - (Coq__Init__Logic.f__equal - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I - (cupicef.prod cupicef.set cupicef.set - (cupicef.rule cupicef.set cupicef.set) - cupicef.I Coq__Init__Datatypes.nat - (n1 : - cupicef.Term cupicef.set - Coq__Init__Datatypes.nat => - Coq__Init__Datatypes.nat))) - (mult__acc (Coq__Arith__Plus.tail__plus p m)) p p - (Coq__Init__Logic.eq__refl - (cupicef.cast - (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ - (cupicef.type - (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - p)))) - (Coq__Init__Logic.f__equal - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (mult__acc (Coq__Arith__Plus.tail__plus p m) p) n0 n0 - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set - (cupicef.type (cupicef.s cupicef.z)) cupicef.I) - (cupicef.univ - (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type - (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - n0))) - (let__H7 n n0 IHn m p) (let__H6 n n0 IHn m p) - (let__H5 n n0 IHn m p)) - (Coq__Init__Nat.add (Coq__Arith__PeanoNat.Nat__add m p) - (Coq__Init__Nat.mul n0 p)) - (IHn (Coq__Arith__PeanoNat.Nat__add m p) p)) - (Coq__Arith__PeanoNat.Nat__add m - (Coq__Arith__PeanoNat.Nat__add p (Coq__Init__Nat.mul n0 p))) - (Coq__Arith__PeanoNat.Nat__add__assoc m p - (Coq__Init__Nat.mul n0 p)))) - n. - -def tail__mult : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.set Coq__Init__Datatypes.nat - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - mult__acc Coq__Init__Datatypes.O m n. - -thm mult__tail__mult : - n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat -> - cupicef.Term cupicef.prop - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) (tail__mult n m)) - -:= n : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - m : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - cupicef.cast cupicef.prop cupicef.prop - ((n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) n0) - (mult__acc Coq__Init__Datatypes.O m n)) - (Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) (tail__mult n m)) - cupicef.I - (Coq__Init__Logic.eq__ind - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add Coq__Init__Datatypes.O (Coq__Init__Nat.mul n m)) - (n0 : cupicef.Term cupicef.set Coq__Init__Datatypes.nat => - Coq__Init__Logic.eq - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.mul n m) n0) - (Coq__Init__Logic.eq__refl - (cupicef.cast (cupicef.type (cupicef.s cupicef.z)) - (cupicef.axiom (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - (cupicef.univ cupicef.set (cupicef.type (cupicef.s cupicef.z)) - cupicef.I) - (cupicef.univ (cupicef.type (cupicef.s (cupicef.s cupicef.z))) - (cupicef.axiom - (cupicef.type (cupicef.s (cupicef.s cupicef.z)))) - cupicef.I) - cupicef.I Coq__Init__Datatypes.nat) - (Coq__Init__Nat.add Coq__Init__Datatypes.O - (Coq__Init__Nat.mul n m))) - (mult__acc Coq__Init__Datatypes.O m n) - (mult__acc__aux n Coq__Init__Datatypes.O m)). - -(; End of translation. ;) diff --git a/out/Coq__Arith__Mult.dk.gz b/out/Coq__Arith__Mult.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..84ea77ab9eef340c0b8552f359bc9e3e2f9db871 GIT binary patch literal 6199 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 V<7SuLy6=}a{|5tCho9q90stahDVG2M literal 0 HcmV?d00001 diff --git a/out/Coq__Arith__PeanoNat.dk b/out/Coq__Arith__PeanoNat.dk deleted file mode 100644 index e69de29bb..000000000 diff --git a/out/Coq__Arith__PeanoNat.dk.gz b/out/Coq__Arith__PeanoNat.dk.gz new file mode 100644 index 0000000000000000000000000000000000000000..6b43f3b515513fd5e470681448ba0675f1415f26 GIT binary patch literal 3481760 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πpD;D*F6G1a@g8v*W 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

|A;(*{vgH zH(n7;j@-|kDP=GF2}(ODSFn+g`Sei%D5#0}G75C+!zw8e5wc85R2U_xotvOo8cO~2 zFf>I2KsLyon|XmE?(_^rj`Fb&V+K8u~(?HgVl4KB6JB;mys)v$$da)d1o9EaJ*cn$cXn zFTMWFcTHF@jv;tUCiEK!QCFl6Iao$DUy(sb6ftA!WQyYF5-5) zUE9LmKZ@d`B6fbo6NRu!0#;tdwU0B50R0pvg2Me<6p4G99tt1punI6)5J3qf!^Dm4 z+i_AllCV&ozxDa_N%1iH8ydQ;f~d!@5Fq)=91T*4B1ai1cd_<9`)PKZdstGlmQHDu z!#9M^uy5YjV+G!_P6gaiUUN0vQKVD#!xg$o^|lNc+LhTacm}uy{9w#0Bp}-pO)T4p zmqFv)0HLMYliJF1fXk^+k``)NRXRJeznswzO=7K-bXyDprwqrEApNCk^~*q13NFgT zmvkW8-j!HerV`(V(ys(a=WIQHK~vEuFtqvphNg}*`~^+rH`?kq*@Z3t&UTkjmVV6$ z-;`7}^7ER*0HcAST?m(b$`-5fswrXN-Q<@-FyY0L<5$j|+E%^mr9{t>%ys0Q)9OGL z-i~727Ok_=IF-s-(1}f`6M$P&!!Lr`+>{ULmv*@QI%( zxkTFRYBMIO+VL`86334VSB!pluP2XL+D1uuOCZMXN~DW+UFh%WVP*5Vjhd}F`2`0OwR@v_c29q_=OH@CRIqCf;C778CbU`$i%Sa=@L zEpVYq0p+4~n_)GvN(j{j^#{{63$Tqp5}QK5!G-mDU?|FdNv>-u&4U_|TMba6PmE5| zoT&_^NYCxVUc)TGjx+jJ<%C+V357MT$!F$`!HNoWoXOh5w!aJdp+|Ry8mHqESs^kg zQX|9CCYDYnN5k_~4uFSBkKRF+?`(t}W+Pbp=mC^A^I*1n5f# z=M_gnNNL2%LWGVwC15dWvNKFOEWYQkCS_$*%(mNreJT_|f(;0F`qyh?00*>WEp!!2 zf}Bc+%Poh?!y#w3J!Ae~1z>0P;{%IlqwwleLke%ZRmhniTrq)VFs zbIEwqYm&|A{Wc%>EKlo`fVg|}#iDgV-EAF)3nF_{vJZ3ts5jK>8{d9vf8CK}2;nvQ z@_wj*<30d9;haplP-P+dA;AOtFy7rsef~p=wh29-@blq$xb4 ztq;J*`tw&C3N8+w39^PI*H<8Mfm1Xnfg-B3zb>21rqE%J@imuv9d$Os z0_HSpq|tc1bq=^5CxJo(zrRBRpM?cK30UMMc|!5|#*gY#hoot|aGjRtulAi0u9bFA z)TxtX2;EL&D8n-w&7~8pjh4n7+w4n8h9cdC1mRWxw9<-geFc5p*wsO9w7m94B904e ze76h;I&T=P-LhJG??jWOP$!NEOGtKr3+BCic>MIaG#X`O(vY+o@7{s#PYzKoAGwzI zj<>hEH@DB)lIPM&-_hu3wM{0L8l>?t&HHuP=;%n24!a1F#jn8V?QJ}+4yaf~Rye}q zBA{&F?F6#z9KFhk*iJbMg#1tylHrpUV`!K>RQ%m>P&|cf)P7zutinOwBddpcsg2W*mqs3|AdgyvaEK z-OJW#zj#p;ecPh>)?mKT@oZebdAw|HdbAcT(~&oNe&fZk{)my=>+`B$!&I2Q6tDy$ z0Z}a+=vK?F)Iy_SL-??cfszj5M7SN5W>VK+$j66Kuc@U}=8lCP7^o}C3p_X)SaNEC z;s|(%iU=f7@_#v~Qf4XV8xMD3pA$*G6S)8qAzUvKq3cY@Amskhx!9crhNqo|TM6QN zMnsWZfv_xJJ6ADmRyc;Yh~8HJ zI`VKDaz(1A_KAk8g&8{^xA-x0UNk?z=6PV@?>&s~237Mlcc!5l{1u()Uq06k@69Tj zaa9V&u6*6T5hyGMQE4nWwMqG|Nk1sf&VJDutG%vIL8VgLMA5nQC28LND!CzjOx)FigHLy~edwz>SI&0DjR=vzF57Nt&kL9GgBuR9WzEvTH@qJz#wYJhFa`)!`; z?rGDOvv19{VBqFuvk!7EI8z) z*mHXIpSt`lX(G?VdzWs6ZhUlDn7yl^$L4I3!f~?TITg?%S5!{m%Il>=Uz&2G7niPM zU@jyrvSV7Sk-+pZ6^QUC_`xf>7P3A+oZHEqU%MTrHPbSRVYbEs1~xiSEp?D z$0i@LwQdQV*0wTClQNV?$hohNJ#;=l`_oi8DCq?y{cDZK5_`w8`mn(>gR8WBSvppZ>ASLCasYsOmyJD;fnjdBC$i^K^FyBxOBTY5JjrGuGC4dbjeF;(DTqz$+HJn0&)7EJx;Yan0ErG z;4<_U9p4|kxyVdZd~E&HrTem!Y%>TtokAYWm>aVmOE5KN`wC-v=yid5#9#tTAa(<4a=cx3ZEZ+D8b#L{LazaPAX_ zJ#=f)@hCa$mRP&ja3){p+LDF7;wS*0f=!3{%*jVf6Ul-c!mo_JE)FFY^1Y*jE`nDt zdaP2m!ChGZ{)TK)R^0F>UINyVN`^`+gTYr4<3q=HNA0gV!%sU42q(1RS=HBvkY{S) z6p#C@!S*Vk2n<{Ptj1ou(ux0#g;#JNOpz)X%{T`?+$O$BwZ%;nnxM$8{T_uLPi8dO z(hRA%i0?Za6I#79dstwlla!H{={y=OtEY<>YNXn0$t0%nxSTu0hEm8XGW*Mg9<}3F z48(8FQ21xf~%^0y5RpG`=pYegT-rgLx%Re@~>qrel~v6E_L0 zR*6E$l_LfD4hI%b%*|k^F3dY(g!)p`1Qw27^DB^uc06<}n0yF3f`;jG2_aUZ9HhDpbbdxQ~K@ zPhWg*req#N)WWXR>dP)Wk>P;S?DHuIt4^4*;yN6uU}C4HzsTjJ^4mDcs-rXlz5Or& zZR{y4rK5mP$J~a@q)`vX5d44qr-LA;_U$zLvX6_tZs|8zbEYi;hw>a1)d(`dqSaUR z3X-bo0751e3!kn=XQ<$J3+?IepuWuqPi3KeX=mDK%Qh8^87Qax_Y9~@ z*4i}iMho7^bgj=Unexo6F^vi+nZmYS!5c3KOR}#*R!y3p7w`(+8|CkX^+ro&xf0AA z6H#PK*pH)7x&9@lFds7~mRm(x5V_&MX1hJhcehZydr&|$>>h{}g_%5zY$&Y*;m!-y z_(OAf74lTb`4X)%V$wi28&U~>oW^()nu$3GoLJaNx39_=)A43<)S;`vXb!rlRYoIv z%et7!i}rCLKF9p7FID6nf-t62p7tM#K^SKnMsO2+OUiBCK)_<#>!MP2HKKL&>f!+UvJ_tl7u=_7MLCrtt zK!CsFc5VZrb8ieu^46Y5yY;;Nn$hqs%u#e(Knb=wy2$x8v&?HbJfrADT0Qqt`Dz7o z2J%PDTkpfNc9Orjf2Xpp4#%QcFY35KJAXxk2}-Hlq_ie;p`N2#6XgwlOhI;%7ACvpq&9HdOL8V-~+f*at64m)2+7Kw*Oc@4bI3vKqSp0 zO5MKvY}TdYP$Qc>`b)&v=_ID()Un7sh8utwso&a_5c21PuPjOUMrv}@%HRL;s4n_^9(H5?$1Bh&hX(s zdwle@;#A#zvkX#O;|%;fJT~p-yVH8#^HLrt+yTTrK(DA&ej4vjrK19?pnvOkg%;Ne z#1PdT=;OkPIW5#2cgV=sz9}+jz6GR12q6N8PVp~3kGz7@)va+}Y4~XOe1#vv zx_iTv4B;HR@$bqySx${Dy{?^Wl(Qy!k42ET&@24SjBkrBaO*4 zjFlUCpg*;W7FzBBKeUDTd=&LX^ ztP)o56-&_x+Pj)&uoKW!tE8Uvz-f02-@JTk{#&qPV6Eixi5c9Lv<78<?3#fk#R4^#Zrw=v4>96A{n!wYW*C&}1cxTc8%T@*r zhz7%|1c;nvRJq?J&IZ<=9#ecPSEafoiP%L?6gJLUvkErrN^?`KXS=6NXFDM0v}1-r zsX0s5hWI?#@If|Hx2}y#79$3-MTVZmgCz!}F4DcCQV;?QR!CK(CQ9h)n__qS_fra2 z!RK8-q@bF+?ztcqQ(9+xS7PTRO*d>Gn9U+w4qMVP99;iL-oH)6JkzNy()81=iE}-RUAXm+fcj~36`?mWcxS27ihq&bm&d^F&&@09osY-7o_#0ZmrFYH$_clE!JMsTuO8n#YlIkM_Vqz6l7 zF(@~(Aq&S-=&2Wwlb4ZwJqAvDk8i+fPjjN{(~<<9|Cd;-V5ZctBs#Y=rwF=dLv9F# z)2CIdui)*RVp3RAxF5zgq&A(p5|&^9xh?9(1z6hN|L0X)kOoI| z=WYsOqyXOD1$iY$QZ=47o;DMO4zL_mqRO@8)->8kwPfB|y+x8-xf2Y-BHqjvs zO|Wgx3yXgDlx&$=!Fn+qX_;Rv8Ngs|X=kupPR#iQtnY>+ZX1ZKE&oMkZTSb;{QE!1 zQ!BYOtmfaH^~f1lAxmt(rX9#QKZ64tCiR%Zf#~&iK=i3k&(V&lT_8GA>p$quZT}NG zlKTdtbK8H>o!kCF2Lk*Z_tY*B9pHdYbkWtoy7qh{$!l;C=_ar$FN#o_)9Nn4YjBm1 z$tyS>(h7;yQkY>Rr7!_HC_TJ7c*$TOFHG_;m^GrE@f&+4WUMqwG(#t41;vrW&v z;mzdM|7>M?#qYkKWpDOV^#eF=4NZecrfs+GO9NVbJ&xYNDo{d$0eqEJ%r;3gA6LB&tTkeFs@p zgkQGz|IwuI+{xg@Zy#L0L(TIK_So4F08N&{fjv7baI;iJQj@~`>yjv1fCem>bO zW!Wnm1bg>=?mB%r)?%gfe->Pp*Z3$MH-~N~s2xr_BCF(d_R9l|$Z%ki{IxT64)b4+ zKgr&!v0eVS2c#eiL<~4Lr!91!99=$I z2S(w2TmxfPV|a+hB3Q>~DF}<~=%ThRmTu&f{85Nx9%FKrqgPqxGKGJ*)d^;=^BDmc z%(8r+vUteLb=6<@K+?EooF83i-UMV<=d8ainXvwoqRMUlPm1cTV^xp}u52ee)=24Y ze)+T7>rZi7oG=-75oM6Ax`Kg2iS)NAL+iobGBKl%*$6<0P0}A>zf~-b1*Km~W}^n{ zrHUxawHtq)&$Oq6g)SlM*g~TqrPg0f%T+nliHI*CaJH#)hA3fx5l&Eo$qd2Q!YFPX z4I2x)0I@v~t&IF$w_k;(O44MBDTKMkzYt)0O~3c} zhehV5SI?mwzLKHJ#B~qzBOyc6Y=z=PzZ>qD;0S$^t~`;i_gkv+IUKz91s^@FchA1s03PeDu{*1tiXllE zQR8uvE{`&CY#zsW{3$f0;9C1Rc-b22hr)!X-d7M?4tuET<&Iq~< zO>VGB#9Gb!<+Q=sQSOYT8Xk?j)D;sd%Sx}*Rs1Y%2d(qx*O+#_dW`05?CbW8OO$y- zEy-_T^tk+4LFS@W(Nht)cev#~p zXa0_lX6_?5AJ+!<8j&>*y#*QwxoLB>0x=p@&fFN12OmAkiLc8CxZFZu!-<@r#j-bA zi5m_k8!KCuZ%tpkW3cd%4*N;?cVh9?2aqN2KHi%8+nZVI5`7Bz{^%PQlg^#Z*0Td9 z8($Vy;t^U#05M~Hh*l3%tcKhN-*l88a=xzjD8b7*47?A{*`Zi7O3`wQdL02R2~8jG z!Cu~p<}TxmzWPWfk@i2?(9bH)ZqB>vY2*KwQBCrzRPy!Cm;alt#LdkS=3*!18{lf( zjW}85BWj#b)e>vpWj!t3`s2<@ozhZr*eP#?CQWf-`0RPEV@{DocaU<;^Mx3_z3 z1Bx9&R>5Lb6WU1~!NKUT5vM9jo}7OW>$6V>Sp8n(G;Huw`3hdcY^)PxocZ#XuMdVR zrKa+p`=Y}XL#XidEn=IXP2GELa9T4Im4he(2hqCM4mmrN?mYbuFikl)N}kLF$UjRf z0{Q2j_DVc=zDcO2_*YiVc?KVUi4&)^QcUzVPqDY524@l7GMX5HMj#LEgvHs=VK$hf z(a-g@z=wqS+rqL|R>H#Ehr+O> z%Klxq$(X3q@SrYA)O?LcnqPN5Srp%^NELo6zx!L>u$?n3T%CeFy0F%4JoaRq8h23r zSQoGw#x*F8LHgscl!gC?@(YzOELsb6EyYep&*1}vIu(APp<$?$uR?!$S%%|hH~P~@ z?e5C6iDpvL*=?+kg&+pCNc8;v9csF9a0ygp0|)4IM6qGa<*Hh%B?(ny^6J30PU0#? z&>2uwl%V~`OIkA@yRxfPTeX@|xY}9p_DY%?10#WD-on|m6ZE&eqcc~-_09dIUA@QF zd(&gm!AL@SO`(Pz(Q{k*#gS_oJAnai?3yGR04rT*OtA#XUAf9xEPn}+ssLUHdnZ#b z;2e+=@>olD2J#!hmjNL4c+6D3#!muN9MH>AA!Btk`LjS>P_{XD!X>dd62I>M3DkzH zf=BttPlp(iIUo>M69?*%GD)GCYtBkF>Y;&Du3S*!!w)r-N&JT0#9_3Wm@!@~@Jq19 za58Ok6V`fx+MMXQ?=7?oahUJ7{MR9Dic+*zAwV0jo9ApWHoBqRvMth_&MMg(@+%p@ z@ZC53eU*_C4T7}PFLvM%!2V+cr+O>%F|S_KwEj~jD(7Y|bc<$iH*^%q&j9=YN3h?i zqsJg}{lJ_{uZ1g?HZ6d#rm5;LCCM$a zHxp?*^d$g`UNUYYv~bYV9^zkXsSx4?rcWV)$1Yl-C#Kp(4ZmJr7FB}h70oSLZ7%*A zwYoM2fNsiFtSq3)RWSVwlC4NSt$Zx5bWdd!d{`{j&szVwT34KoDK5%Mp0Tl z-cT9?vtyF{ukJ6Ed%Df|_xyaV{H3bAmx90vb@W{e1B0K@3e8JVl@~-PlvS^Du-I>3 zHC0v)m<_Nz&J%_4g4v*~a*1OqL>Ia37h$(%EHm?3qNaUgDBTrN&kA$$-+wvIeP4`? ze)JmqC50%5nPPgo$;_RbO7a3`azJ2c7A;FLXRafJ7GZOz%}%SB4f+K8aOU9KQ{8DH5gM^StGE+JXk_Tosx@z!R z&jdRC5uXQxdjZ_}dAdsw9|P^w^; zAZ)y4gYGke?w`%=r?_z(P9?+lGZHdhezDt8-&vf7|0GgmlzX4bd!aTsx_@x2P16_b z_VbnXdOrf(LqB@m{>+IRR_e#5^dNZP0E4ggzPi0A@YvT7lJg0?vEo;aeFEG{XduN+ zT*Ps<%piy?=84J}0_A{>i|q@UAkWigoq2%Chg_d zN2Kx+`~vPqNPWK*U(kchEtU_{{06(XnmJ|r{@ttO7hdTI!VsvtZ^qy*%X?wQ)DUMdFVbhkY ze;-r6a}Cp0s}+JDPbR7(aX+1PbV_G3cxqeBPT%BIk5G?#FQXTpmpO}W6_4^}dfSnC zKIM5osc|&2kiTZ5&%hqFq*hmP?!KMx=tBO~(>*^ls*=vIwNJ27=)$4DH32^)gt!Sh zkk}bOKMKVJ?MpL1?Bho~YNj+2kjlmcn}>6hoiE7vsrHtOF)*5 z{isd?J?o5=H|_o0qfKv+7ZvA(#8W&D5=4gj`5je|<+cTc*VKCk@w*99qZo)1m0u(S z;1S!fjs~5kw1~0HS_Z|q#PK;|YP6CGY&TM91?)_mtkfM1RXGndAqbHfKcPzF{g%k! z>eKbL&ZkR<0ju{y_xzPt8`mDXk(av(MGH+E7@Ek?6mh8>wTM=?7QlF#CyT-tI-qrO z$fAo(Ryx@PvU4_r42m}D-VXMEV8h(;h5I3J&aV77YIrq2>YsaE*^DeZxsmF)N!1TG zMsIA>DLXEz4MI*kJ<9dpCT#dbONZgL{gO}P@uzM<5%^nRR-@$$iVIeWS<=(B*tm^M9&Gh$m|F=UauB4Rr1qi%M<|mF_|;4AlYi zzz=a!+JZ9rKDACv@QVB6NWpoT>UD=GvtlP_a?!lYIm4X+S}M=n73Ghb{MQv9UsG$#Q((0MryEi)Z%e)1Wb+n55+f#2Nk_ z=JB^D8lW#?BX}KNTOPW-wt9SXmGOtJ#T@&5Yvy*}XIkY*6+q+zzY|!eoG;FzC)=sp$YX$tdEog#}5YZNb(gvHXYl6sKYJ&JGn;-O> zf#KnXX{mUsg%g;jQ+*Q)>M865q~4t_m+ZGo6iPZeYX{}EJ+k3bXqb=IaqK!1f?d3tP5b_KO?M9Rn^ zDGO20?&7D27bPm{Jub@bZ9(b-wy7BtC~yc~t#u3Gullq{|NZuHct3gi`p~pm^p-53+A{K+PW6B>Yafl)f5Eg-v_E;*ZGYyA z++ni#rufOSOS_Eb8B@ZAdJZ;ghR`&fjEqJz)zUM@D^;LPwxdc&+F)K2!?lV3C!+>o zPr<>aqQ5iE+NExy;)0v4{g>3r#fx22E3Mlw^i}E!ptHr#6Z&vE2O7H;N18AYDy!P8 zLjLfv>`jXpnhQ&%-)|M~zq?2gL`zO7(^EWeZB1`HBJ~Beo<3i1-tJ!CCr=N<(`r9G zwk(i6pFHbR%p^5yr)v~EpT8R=- z`ve^zi=3Z!+J#7~=qT={^YTb9d1?Q(@k8@KgYb>q`>?#o7x^x%M@O!VPfQtJko>jS zCA-pPjyQXcm<~%`E5wB8XL?%^04wUNk|qiWOSC#Jy@y0h$O5`ybh7cZRx(9!2?qHO z6}jX@&)(m?d`;^g*J($LpFTZ$^jM#MuTK7tH-qn|Ck3yM%yf3^e70WNbUdH+cCDIK z4}yh^ekog6zK$}I`aH)`iWcyAiZgSVWuL#>KE;#^si;>t6`4^NHRZ~LE^#s@3(aZ-MaK#DtYtCKby6QF{X9jNA*{7~r>kYX-z_4P z(OY85;xDU=2P+pLd}H;j;7ER>oLuavyf>4g@b4g|ww$g4<|To@C$D&VFJ)kK zG?6P~`bQ+Lk)#1ZAAzrcN}fU{77^3&>L*M!U$u`P4Q0d4vyUkN8v$S&C9G^O^qbl@ zxo6`W74TU$wa14^u;m_>(#@O0+vL}_f~9-c+MwZD6j8W_1b}gx&L!Ks#X?9H#z>Y zquBl%4$TxU)zsz7Ue(&cXW`g4dncAj`^Qi1p3Q@f_bdDNaJBj^`~lEFF43h(re00+ ztP%XlBkac7MBDn0WlrvClAAvx*Vl}64hHQqc_RTMJ0T+hB7(oXl#dzZj`bLj=6Ye* z|FlsCI@tsyXWwfn=TCwm3P7)9zscVqiol4(rMg>3FpIca8M135|Kr`Ne4oM&443)X zO9$^I2i;W>yXJhcLz;E5-9pikJ-#VfSezamWEIE^_hGX}_o|nyc4jJ3m4%TJIQI%y z<|_g0ew)qr7CNlF?Jx5iB%4n?t$HDhbD(T8s&DguyJJ|4lsCYr2%1A1W&ul`1-d%M zl+%KXA-m87Bzyp^URk!WAH8HSs7FW@qmkRy!r9ZoQoaghfHtEBWCQ>sX#N;@>M{`u z+iz4N6Mo9LFr3pb8tUKd_m#QhvLi6%tQ0|;g)ST56+3yZc#Uj z^arY-6{{!k$rjXsEQmIJcj!;kWPwvShv4gz$>rgRUMhE);-Ks=mazT%=SlFCL>cLl zjd^`qM4wlI53Z&8e#PX1sAJ5qUFgBM15UH2f>u(OOG`;hNw+4O3n>}&tqm4y2zC;- zb1loEk(AT-kNt3Affc;>@7`($Q+E_mybMsTV#kFtsLI+NUJ;d3TP2>QglU-$y+5Ht zH+bkm-!8Ir#yGz@@!} z61|UxdO_ecJ6g3{+3H)V+^I!J&_0Nqm4C(PeVbwX#?b#kNXF;qIn6K;E+2RiJJK2= zZ5v{$!6^;()`Ghu^gh}vA)%QvvJ&?vU4EKIjI^#N%j|ykyS%HNb>-l1Ig!SVyLP+R z%fGX5#pI0M?a5?KwW^U@46<4dNQyGq2Z2mu*=@Wz8+EC={X_5@JBO6G>%-*XLQZ$K z*pk=K>*B@P=2g_a`|A@m^W?t<1dVO>pKh<;6dxW5ABm~4wSDAuRJDj=Qai9y|OQAIo3V+mMCX`h~`4HXnNR$-J{JnWF4 zi96^XH4NA|dR9&QR8Twuue{D2igai$W2PMb>~%SIk^W{;;R|*3bb+CYsnvcEt{u@? z{5UwVJiRIB?jALKn_Kuz^SPI~%2ZPehBl_KH%CyEv1Eqz4iC`wr4?PTcF-&A?ArbF z&oYL?`xOKOm)#n{4G($`F=h}GG zcoa@dmqw_iG1v$nf5?q4hH~Y_>hzTCe}Ow``@A9-YreYEb%T!2yiBU`7;&KC->?fI zfFb9wd&+<+L%pD_O^5%%NJi(%>!V(BEm4PQ`0aR_dE%aWhB?6O`)WG+?+WChmBe~- z6WNi}i=k9%r9a_ps`+4|!`vdn$g!H&pN3Uqn)P_JBqlZVinvb92P~nw!4S*&Lnf^A zFa9;4Ky70R0nM`AU)>}tSoWj^cU4D?k+1jDd)L~-!@|Yt_y=3E{xAJ)JAG2G^~JB% zmH5|=NtM?x1)n_8l0y1|(U(m15rb#pm$0Lw>V+E&20lF>@w5_zp4+Y0pVenFoAg8m zdGwL0~#q4y+ZuLN!0N$@5SPL<}SLj;TDq!P-PZQujIf#Go(1uPfKa5P( zC`t9wC=E(oc$6S)>#_%BHs1xSyRz$|UDXj(ltG+nc_Me$EIu2$pju z)v#|b8=Q_D0&QRsHh3u%AJ0#eBBSjz?BZFT)n5FM`%DfADX5o z5l1(zzt0HTd@gTbYNBsm-G9?|hh=2%)(fqvBb^k_omdz^0E~M6sbhtlLL=hHr@>_$ ziqtdy*wy>Wtk*Aqqp3CavGo5Yq-g0DW%1JVQP%s?+QMuua#WnpM-o6*RAE0(RVyiR z>7wL>gFkR7IfkmPov>*EOVmq!i#=Vt`l!Bq&g(PX)4T1v0f(Bi*m?fO-YU|D35G^) z7fQ7uVi)Q_E7r8dXvZohvMQidG21{(f|*8pW|i?Mt5Ru1x3{m--1)72vtYN&=oPD+ zz?bFI9F7TLmBUnFGhk7u{Nb=y2Zd2LVK-BA`8ixVZhZY1lep2l z^+^kgoZzyRY$wgJdsN5GPUMxehnnXkuaJV zL_LRQ{;E8M^?wzO4Qsg_;-f{GHoN-hY-XqZD?FHso%nDXl#g|4XU;4ks&(=dGASh4 z8h6 z;m+O~k*DdV;4u?g!S*s$QGAen3RD8~yeKq{Vpd}i?`6HvePdrt{OP5{dkSz)_*t-+ z<++JWluoO{G*$cqN-QJEh++{9+E`UEOs?XRO2TQxqG)j{OF@1g^HBbM-k;>L3)U<{ z{7J#ivOKeSwkT6UGxwJ*Kz*`m2EA1qVY+S6siPWeI>jYpo2Uh^gWZ3a5X`VWZ*Hi<6mDQy->JrA^8{Nl~+m2-x1_(+t? zzC<}g#z!na3jD^w4*xD;cs^)26?LN1lh%F{6Iah&LqFbXhqpTxVnw2B-@IlPae`i z@0xGKB5M@Bs<=9=IL7ihZaqBh5CAAw)O(R1Erx<_iG2*+5VVhXe~*gGG1%Z6VZnAhvlFNE{iiK!V0O9Bm{5C64ujX-UMcdUMhSEH7NgN6f#J;8-^=6+ zP+d7O^s2%w<3FpJZwQD5?C%==cCD)Xh_psIF-0%Bg`M_NKlbB_#*as#4W&4{_nI*v z@zzD(8geOko}ZSf3##Q}ReW0l_i!p*(*eS))!mA>GecYm%Mw+Zn>}0aJ(~UoxrjVl z%jSq*{*cGt?3}!1SRXGO$kOxPFk!(TlgFDbWS=YS4PG=ER-0n6Pq=^k`N@p=L45jc z>K-qa22sdSvA6>I+l(rZey(?}|IKol(X~=x0Ls|VPyRq()v!!WVCo@$KWa0j`7n7*GRft>twb@OZy|EmS6mK z-uaq3yZWP2@!mbJbP%GO6R+d_TgQuWgz^K?6uJPMQ+psO2aAM+tx(X?Zs=1-y@w?j zE>j{OF$Pa(Ivw}Yx7+!>Jz-GI}4Mw%)vPM)EP&gbgkUARqayUxo6MW^I zi~|QKQZcn01+{Ju{>mafQPgEUCV+25DVYTnBW(w6;6@A+MVHDK!8@k_ZARqsUHPb!Jo_fqa;Z}^NR|Nd%q>TbWQsvTjzUZ(JaJO=Ra_Kg z{_C%tgw1daw3DmErN??4nOx8uA8UKr}}M-Rc;gCcfGaYXXuNukbqoMBh=AWD5qJ*3Y$ z>d&Dzs!R__^JL#j$m|VCwM$XwjBkoRNwdV%taa4eR6Z%IWa_#fK@f;A{(6>8h6GFS zbDTh=I7ph>U#~E3e1qTEcyK|QwVfS5u_f(bazaEyby{DjHr;q=Lg3>aol$9SzZkbw zwDWdaSKU@%Gn{>gW8K|&VDsO2=)!p0Z8>s4Th74*w3O8lw(?UZ_}F=)@gUH*U09Lj ztmke#AkgJItS7DKBAujBwD2b_o8deN#DVv!U$LlfX7?j1*##)b+v7WiCD_ET#N+4N zk?%v5o9(P}yQNl4|NYbnJQ+X##jOz3`%*U@_6Vx{nfDb@2`sjr8q|UhD7Fa*D0&7! zW_vN5v%)h*P&A@!fl*}}?Lu;r&92}%h|Yua%^!3)i#C)XN@EoSMdUNGf$!3%53$~b z4*cMnjMWG}T@N^Dgh`n*viy4>&()X#tcmksSF`D}d`u<+oQToSbM9A6nnNi4hK^7J zI&~!oSgsd1bS#?Zh}$sWweUPRba>Jhbz_DJ{e|7^!Nc${SkuTpR|0P*qDD_#=h3_S z;+h&^aUE_5M7RPEVfG<`%aDW!L@~vzKBiA&e|~Lc?(Tbr$3e_4B}eR7eM#RrDGl7g zg;HFJ6#rTbmK>bU#Y*vFv4K<$8ShCWr6MZTSA;GI1`An^TL}{+lp$9##owMRBjP}X zI2r6uAux;r!U)laBy1J&BtDUCvgupkoS(=57i)`hrbEfMaeo{&T$(mqxPPur;hbbT zV1M%@{EJR&VsM6k_pM!7@GNSX5IboUBvbt zjD)lzDju8KM8G)fUS*8_$^u}V^>yhkxG@8XEsGX?v<+G{U4Mox|5Q_!jluVTRRjOe zeYZ{P=TX4t62}%A3qsJ7@xtN@_CKv!vcNlk`d<#ZgmC5-fxpVa}mN+)^UN~C|lb|`s-L26Tjp!kEPn$Z8v9o6Dqv5|by#@#eaAaD3Z`fZHL1GgJ;q4=n*Mx1wrm(m;aP2FEGdBFz@V!YHgM8aKVR1@Hu@E75}-jZ*6(-5?8X$mB?b*0-d2(!Vfsdip;DPigXwh)cPdLfo;l{eZSYB^(4Q}WG%MMwa`YfMSyGGIcMtsia(1ithQ zMwt={;X?cJ*-W#^4X8}Eg`Ed6HU^B-9BU9~%2SZ+Hdzrql3kp6>~GK4 z>CNEtT7H?Yt{Ro~HogB{!@8|Maeu%fry|Yb>(}P5QkL1E`XEm&m^D!|!0h7t?B(97 z$@d7pZ2PAp_xJwhpn%i6jn}6UT1M^qHwTI-s0{VG=z-#OnIM8gX4JByxlk@X8S`+2 zoKdCXm<=cp0kaQvsR;frMu&f`ewLLQzVO0}smYQFn2@QFM1=k*;rn0Oa69V zR$4`MN5t$5`+~9IUjaVV*@$_%$#b!!%s2Y`Y^Jdmn{c82^-%rY^8x6p%Ezdv;8!j& zoi>Qv{C0Mcz4GAa?M*obE|6Lhfx2s5odbCw6%&NHI%IFxl-pRA=Ndaiau5gA3ZD(K znXypSWyMZn!?=FiY$EP2V2GIRE6~p6)<-&+eU%MMpQDMksMqVzzGj&XLt(5{543`b@DjQPsnLUsXi$GP)C zyA#ftfg_L~jO~UU#tPe@>X8(ggtBF7+&)gGmaJ!&Mx!L~8}jox5?^U8upJbV!r9J# zWuVlfZUB)=k8>lS0!dm;?L8G=X(M0{>RaSWqa3R<_ymTR12~)%KWBaeJ)RJhoe;BZ zj2e%fPz)6S>bG=g6JcyliM2C$g#yER(rRXSc{MZA&2mDnoXW9vj5C>W~ zDc@Ti<&Yq4UJ=j&5Mke2B_+i@9{`}KqO9`UJ%t+{V6A^obkYK*X@fA+8n%tM`1w4l zy8fO{_!dc#R*<_}WTeIa!wvG_ydVVuNg_qU(t4=I?>F6lMz{@GW25>sMUrHC?*uZ!pyP4+IrH zI6dE#zH>Q1_;1Fwd}0fB`508E*3NF*c$;%91lHpq<$!v6GiQgb%0{)U^xqpl5YvDE z@oLoND7qZWY4>LY5#pZp(gdGYI;`dXf0CEz()q39uDy23j>2syJT6+jiyw^ru^zif z!9(59=k{YI7i;e}{+RLbHhZnOx`~_qthVhUH^m9LJnQ=~YS-Sx>hyT4`}hna?)5&n zydAt*fA3vF8Y^Y8c(|@lF{zEd^_VD2gz@*ku*2sjznaLzx`cXrE*92yP%!;aQo8sCTJ!-}a z;)k=LN}GauQECXddj$tP5rbJ~irqN~n?S60x-Y+?C-tI~}>gMY6-7I(mxEoz2 zw1E84Li8B>`G7mz)tU!&!ydkU)uH7dC7v3si#*9bm@7cg$;9Ee!M4?^U+Wm~7U$pG zdKrIN@VeQV_W{6Y&Pm!yYSz=qtGif#DYjjHlHUNi2}9v38@f2!!)*6;Zk_6`carZz z&}vYo%C&(2}-{v^o`pnjNDLA}2Ez0GslR;)XAt zy`v(Acs7Zj5y=)Zr!(pd<9ef+OYjMl#pu?H0PgAJay6<1 z&k&Qq8JF}Bs%F>oV5E{2ax`*K1Q^XEKcSrh*5-;Zw% z9p)I4Ku6`B7Q%C1n~=DM)aTrG5Ki-JMnLCh)+s=}c$5ayhSta9QVNt~ehLc?6sFXn z^NU8%%{Z;?MC>ZV=d&{lQpa`{^RE**3!;!31g7eizVJo;$KH!?^B;RJf&8cRN4esi zY>bop?2l>-E|%UnLc`|C|66wZweC+u){$hejPC@SZhOoB7h~@LU0K(43CFf=+qUhb zV%rtlPAaO{wr!gg8x^BsyKg=3`~F|||8@81amU!>a-V(nJ!h`9=30Ah$)>1F>J)Ma z+6{+bdaYT}DF@La{wJEW@mBhQg%}+jx2Ul-u05k=F1}u%zQql z;%}dyA8#SW$Dd43;q8L9DX5o-D{jn*G~*vemx$-!N^tM4a2pe!jw10!yhAG2Lki8H zL90MzTCAC{@Y}2m%$_55NW(|~D(qbOT;R<9~{a83;Oky=dB5 z3vMjIEZ!41u#c&MD5-D=-Ek&>>C}}CRyZ1aNug3DsU}yUVaz;tDdn1(Mvip6vHr+O z$3}JIWYBBo70D;d$7lLqaj}2dNQoC~AFwT2v{f-|xuBQ9QB|w?Dz+G4r-)Di8ClRw zIPH#?>~dML{$|4+i0+7jy<+?NZvwI7^~e7F93~qCIgeNI z_+N#I<*9P3xr+V=)hEm~+xn0#0PC|8Nj!vf7ZXW5Oez(HA9)6Puhm>j29GnXf`R%+ z{$OP`v3mHx0kz%WXR;ISIA8ekyx}oE2Y2^Xla10W%H#r)kMuWK4{6q#P$x}1S%h9^ z{JEu$pkk|GFna=I!TLX0*Y>a#^Czs8iHXh?=Mhy4bM6J*1!FRSf%z>q(Ow~C2t6_* z>B`lycYrgT#DK*zAq{eqYXdq4`^5Tlm)8H($hQ_x6bhrn#hyt z*el%pOU4Ywy{cxUCcB|OW>%tdtHDK&2M16}{vFwOlxEiS|3t&q2!-v_h>*?zmAZz_ zsE)}Y{#Ck(ao<@JHj<)C1c*4;t)O_FY9#!v?8LX5+q%nr`7o+9dW(7-eEk9}djsC3L(cz+`YtYjvzUsz3x<#)c|2?4 zlb{nb3eE%m*42^d5mUpJB)hItmHvypB5%-Yh>KdI9QXfF(a3pz?tm-hVBfA~Z|iaR zG_2FyJMR9XS^g!97J2kJpdwNT^P&t3qM?1$EWDsqs?By7}k))^d?_NIiVu56drL{V*?60vI;9-jf+8o^{qZhiBWc?xX>cAe&m0d zMNJvavtwJe1?WjSa$7Ndg-bqhPO*SaVhB${6ami4TEpY179L?qo$KO|IDy`r;*bvg zlSA4!ZrpD{fam>Ifax)Esg!b9GHpykf?8XtJY+T|hQS4cZ`)f+4k->9NueWmu{w*l zX1c>yt4mT^*);|9^q?}Z7!SF9?OC#4=95!C80D60QE(C~S$yKAIahOXq>_ue?TJS zUFh+AjW4`4d#T_RaK8JyY8n!@R`2+xMFi!RWwS#X)dM;p&#^;A%lg_ra}O zzh=DC)w>zN0V9Ll{jCgXhixCM>cahORL5fRGN9Uf(j&=A!mbMvW+UMglfjlFt`Q3* zU6dG7nnIbuRSa7&#&wRRCj{hd9=HsHIz;bC>?!rq!JcNJvo}dV#vmx9S~)G?{53^q zA7y<+@40-%h{0^FRd%Yfg3O0F zZ2mXZ^$0Z%{`Zr2sr~{xH5k$Uy}s?e-Y-Ut-_&O+39kJ&o~=^9UA#;BHOjI;N14LG zb0H`KG{_8sc#i#!YA?qtj0CQ2DZUOS>-8m~nm?AP%^@um5v;3YMw?zt2Zz+xmgi0$ zxCQDuQ?JE2VD{;SNFkf~grXy|3d>^c6~wxZB5Y&MJ5JTBJ|lo>25XDDjo*fqwsC8( z9?ISv{SP&HpZ`_TPf++J-|(y`m-0;ug;^F~HNHRK(+Qk!3pPg_O}Mvv;_&5IN= z?M!komp{90mG6_IMW`=gJn&UA6i=ZvWF}7ufRlouhg(@mhTZLN^vs1ZG+I~982IhI zHbZ+`55B9KQ#S&o!(&KA0WP&4`(}wUfM5C?OS)^wyOnTQ4G6?zI`*!W2=&j)Rgr+G z8xb`T9aC+B*+9TrOGK(DmiOY6KVdpW<)^6T9cHOekvFahr-T94suAAg2hPWf`C7Vr zS)@GMaNEgqkS2T@7bGrU#CQR8sDNeoGY-k(m(*_p{Fpsfdfcw3wW|`(Ip|qgsuqlFO^)2 z8&Q@6gtm98YSmpuUM%a2i@>v!F(fNMer90=Aqa=(fr4e<#)*2`Q}>G@Q|?K^!CJt% zA9sz)3JTc2r1dr4SdDiw#(lAu5q*aQ?G+l)gZh?#lOu1YR65$No}wYBY&8 zH`_*pSxP@c*w*(HuVi{Z3Yb6xDk$?%sQ+ePAA# z46Z$;O1qh&isZgGyRo_}={HLd5Cy!0JL$(q4y5j0-)iu?NXeMR<=|xOL4e1JpW#;m zFLZ3qVgl?w6@EK0t#YjHV?mLT!w?~l)A&qQ!htk?yCYe;(}94w`L19^uIgDq05&Ae zAS4si`!nh7Kv0~2=(eQS*tCGH!A`gLssed;Rw3NQzc=Z4yR8xxYmAB+)&0y@KDm{5 zarmn2U^m{xK84rZkxXEaPq#y(5A5!aOEvor>L6F?up`wO%}V5qz;QOJb{WVG5G0M- zf0>J?eDWZ0Fp$MhYMwt=t;p`muBkN|HdANaLeJm-RRs$WiVrPQ>7{H&i-lHdMTy~i zX)YHaHuY`FmuNYM#&@n(J4}Z3VPw9^e8-v;o74!K zIi1g*mTl;_Du^sYHX6)e!8-h^%J2lP-}HHbnBx@6$EehM*bW~eORd1;xoZTdJTtI7 z#u^prT+-pr+fve5Sk#!*#jNd}P=eAWbLu*rZg%K`GBQ8UFS7zfPsn-vBO8Q><{1^* z`$K#Z{j8+E*>bcYoj6|Y=bm=1#1Xdg15!@i$gnF!$i%JuTQVbdij#ef&VT6CGykTP z4q7N%`5!LCKp!`2nNVl!6z@juW@Y;c?Y$8wzi(+7*?XU@f8TIM89#2J%pd#}w2>n* z|2Ky<+Xn*kx9ih*KP%%6R!_Y!qpLfvYnulKlcj0wO`t=Flg0ZMWDBfzh)DQ$;4=*t z`v7f-oNN<|^7X%;QgI5k16Mdu;?y0_gr+;%2W0d%?f{YRVr8N@j{Fw`SAIMo(0CnW z$pZVEK41VFL*G&KHl`YwlZ?NQRKA9nlT2ql-V~W80_s(S6=^$2norb#sw$%Kj|Y1h zAgd=3tptr9hQUm`G^LMjB0x%Q_xu_2G6l+dAE8?xW6F51tJ;_1DkGLhgGvHz;N!p@9Axg z=}812Tl}gdtfZ`@InPsaGC`sfX@vKrbI=gjQ{dQgkXq7Er&=<2Cj0`@Z$jgGXjv&l zNB$Rej)>iu;!85hY%yD7hAsJopof$0=eJf5-E>hjOnR4RUjqD+Czv!WxUky977|vK zY*U1`(1$683X>)oofs;<$;XPB3TXMUwJk*y9gxkLFuXYcsQhUHL zuaI!DXbwkPBem1@Pocn}9@-v8+vPnX&N5C8emh(_%MFf=^R0vLsml+4YGUBbG&^a| z6kM2wyn>Au-x7M}dP&W1or#M}Eq&;Bb#-5PJ$E>C^8T{dTNaI+)$i?p!?$?B)4NR9 zbza=A9OuTVHZiVi}oetpnQxh3?Hh8gC-5Tqq?!nLAl!K$e30-cp zIy@9#lZ&IW(*wT^MFML!D!Qa1zBft3^|Z90{AbJFNYP>v8%qe=a^MV8 zT|G1kycF-9vS})n+-N?9)@tXJrCMf;IYgnQ7F^75{J04HU_jxT!{_uE6Ys-b@%hmX z9d&%3H5jxwlO^%AvBJ0OHemPC-5lhT8*y0}_h7kGa2ml+m?9D#EPgMM4}-}E6D_pL z3(U~*`!gCw!d%YG2^(GyZ(`@HpJyblEz$SsB=Q+!Oa;a84=1GjZh-{Bba8eq@>m`! z7B*p7J_i`2aUKcsd(q53{QNy|lcf^iUrwzC^ed1jJ|0w2)2GRrHKJiE9LB|lObVk^ zhny4(M72pF5{Xtam?LP)@$wcR5*8#ps5kjyl~`6{5oeACG--3e<)3CeT>}0cZ!HYr zGU__y?4G1Bp;NxTEm@Qa+?R#y=8yMMN`xhxa`iyYs!-O_#yj~bV9jJ0i?bH~X_qMF zo}{8EvwE#Dl=C*E)#YhMj4r{lQ)8DB8X_Fjg$gCBMC&F|ZXov-hM%mvkeSNharuE3 z@nS49B;%}b>wNQdvU&NSfVU0E>?G88v=5|~ZTK^miK|C{78{m5P=)0~h)%~uOu@0M zclE3VaLg-=ESSkCiQsO1C#M=33eeKt3k+$8Y>*O+7ltShj!0=A-z=C)Z)9sxVR2BN z)(_;jGXhD}jInKtfosqkwTLiVnm+fxiyt8qQ@~M8WKdoj1SbHpvhZ*iB&s=)3gX(| zEGd6B?|VTVO$5Tf3qrV|>92D0&;FqWU)kYx+fd4o& zaspWQsaTe#$Eb}7047=@G#*gbZehp^_MmhlEcDLPO)W|s)5cb=%xXTCZJvTV2xWe1Lnuo)`=p&xTk zU4%aD&1TU!52Nsb&6vGxI6g5^5)0>4^80Anu+l=jjvDpPcS>vKBa3(tI7)~?*|GFI z4AEP_*Ea^LiXCc3kbqQW2V#I(*I3fp{bw~`%ZA5<gu-`W zZ)oyq20z#Jrp5>6IGf?hV6hnHNjHP95ieE{m;k}9eq zzrfN1yyH}KYC5O2>hpnGY3EO6OD5cYF?dLMlIr*<&-+d`LCNVPuIc@v6 zZ9Wt!o%im;-3fdBbbJkJCNJ!?K0H{!YM>KT)^PfaB|Q+H^M+f5!LleLxF-BZqWY=A z*nJ-*(7~i4)Xmy1o#oxvD9Bl;%Z}NfCU38eUYcKz4WXHP)`qq{Jrs4cs7h>-_yrs| z4*kM`;3~<%43DgNNP&WZrqExdq52|nX`%bx{nXwoH*7@6zzjQr+w2ALfU)M>QyZ_L z`iOu?zi@!lXkq(oE1@PkHf>Yt3G6?A*!$hej~XktBDZ~fm_<}aZzO=-M+H^FNm`n4F!@8sW3w9Ln`1gFvyD%2k29^#$KpRa-cG-F-cOfc-W8` z+w~|MIK3pw!7|IF_(QSJhrXwluCIRjizR@kfjljOKh^s0CB9CBKNkwF zeRZ@}1p;=ud|zI>-|q$was)7+-mV{~GjqQRvJMMb7Ul15bhh{idoS9!zn4lJ3^X{X(Jc~#^oy@ywjR#t}L zk4mo`{0BI~JDY57+Ds!)vAk_ZhgX#%C9j5_yqqUMBAhst1k8OZnKutfLJg|AtnVJ@ zck_>HY2f)z26&@DxcL0miRBo|Bq?Vv6pApBo+C1m{eG1?6iwK`!EOk?xrY1NnT8yRTj({Bx+Lqy+tGI94+0rb>(&i9CQ7t z0PPOBbM6Sum(mMF?mEtATJWMC>dR+R2l~#Mvu$H za(qJ_xZEEU+7qVI;|UR52W+^gXL>Hw8=X3pI3p)hazASD_&DAx!*4`{nvpCPPeE&1F=?ofsYzw45?gv& zdVVQM%-?=`6dl8J-8BpYRa*3&{T;W%f5yE7&G&r^3FG;gZ7?F5SwkN)$8hu3@T`)K+R5Z}6BepWoHa<@1 zzk_sLDtroVWiWcm5!~<)cLuTd4Y8}-{pGHIu|Z4N(wnyDGWs$3JNv;uHwPaz;OxYR zD&6&>OHk~fd#`pmFIWG0rr%O`u88fFEF~Z@Jw`=H&Y)z`*Zegadbh1`R93ywq#t>? zyI(d2eROo@iho742$!)tMS?eA&1TV($6cqPss?^^!Yb;!d(avh>hU9Jx##_@tu?hR zRF$HUpEVUg6}MNLKsVrUQ1q&ZBIqdO=#Sg{1ZFVr(G32o>k%rd*$VMDKZVYj4hEu% z)gQb4SvjyX+ri0wGBH;Bbtou1eELw+jboFy&Vxur`ii%Zn~;}x@Zf;9)AZ6ry?!*7 zsWd=#zZa&46$q<{AhsPXSPdV`iX#!_7>XVi6R!GI(KehnX=-8y=Yuym>i8=6#NONAUMh^?QK_DYfg7X6KZJI;GrFVi7E zt_J$~8`_Gm*_1qV|1^hB!^XjGS_n8ZJ85k~#@T4Yb9MHS;xS;=DreL#dw|adSsafv z;(<}3s0q7K-9?K;_?<3h))W%^YsDsTWe$ar6^A0{DUKAg`Hgnq#7til>`Mce^* znHl?rq=!&m`+MsnI)uFn# zYuQ5i;LtsHy(wIcct<3{O2HHKrqT7EhwCbyQrSo=y&!z{J}hXrMY=y_nh5=O1R&~2 zJS$xyCnO?}HJpV1Q)iLzRnN^EKT?NN9XPe;_3JL)oBZ|6WJ8*>hKz{HL%`mC>&a8= zUTTK#i|bD1v0+do(@px8>A(Xt`$WO^#v5f(ZjL)k?!x~;2qn8d*uom$v zDLfU?NlBmueZu%V+HybQ^=OFR(;&sFQ~WEI!H7= zSip57Ly5$<@xo7;bC@I1-x-nC`tt=4u+3E`#1Z|}E10u$UH>eyI6@Q__fp+tK8&)+ z@zW`8ipm5+;g02w&BEZSncrJPXcwN|>AanXL%E<66W@IaJq7+10wP0-hDY zbuNveSQ*itj2=-L6@cXW9aEFHO@RRyCP8wDtcuMsgfYpCG7~!n0cWfYt&3RGi&JyF zvKL zN}H;L_6IfEWArT9E{BY;NknVx`7={kDzpOBUbVs-@HlS-`cM?D#;(^LGfJC)d(H7m zg2g*a-LD&LqDW$+-*D?M4g%bemN1@*}KDGc3JR=kP8tHQnnN*623(+5`OlH zBO)-LYo`8-u#mCRLAR=oW`Anyvx>+1iXL3%%(#@IFsNZc7F6*!y4R-?+SF z>vq-xP(Q~NK!33XkbeWuza(GJ+j!}sv%V4gN$0^hkLaR;jE_GTzt2dYk0A5>(&!~x z_SD$wC-hr(Cyao|H(sDJmhxv$RNNbbm@A}&5VAjmduCgWJO+g#tw1DCk3FTv#iIv; zOXXl&r+j%;KH88#b;mWx${J>bZ7y4;)xpy^TryReDY7-^v9(fJE)KRXCFnhQ8z0pT zLyS#0y($XtrFMo}fw2{x@bBq{b(Nm1)JFTPE> zD$@}XfVeB&cx3frNd&syaS5uR0Mz}Yqyygid=XGk6fM}ESw3_nqM>7uxL5ltbNrGa znGqCf0L#-iFyYg+t*gX6?SL|zdHgXfD1re73pi(qu%BZ~z6WZv_nIUKCANiuhUz!M zW+{dgN)md~k{K24j?KiLOoOy#7*OFhgVe)yex`|C5%VsbPG zj?Uie0gusT*oHf?6MDm$gBlL~rj#V!|W={Nfah7kMb z?$O)K!_UXKy=%N8N+Ji{{=M;}1g;y66^V$UTN7d)y7GDytd^>@d==Asnq~K!qE7qx zTI(^94K7@0boliSt#r}+Wz0sG5wY!6Al9MF1RWSE_cb^lj!V;04?Fv(IjZWyXsiAKHrWdwk#AW-?B}@#kRTBKZOvygw_UyJI*t&CPt2Wdl9L7pbYLuW|E5Tmnnu2*a2`XX;IQ{c8 zJ(lT&Hj^hc@X~$KP95ZI^3C@>96}y>?B^{Uh$rU05(_2ocmfm_h3iu5EKR%&ox<@Ewa)79Cc2U1OHCHm zJ$PGH2m?5=cepEc1wOWl1?^X0C5fMG0Cl-w5erHDcyoEsIIRP}s*hqDVVutjUW!V7 zIaGUd1ltz4!H4vA&?KiHYnJU00k3c^`ij_aOa3`wXQnL(32lsQ_@pSq_65qjJ-_15 zjMEYUpcZSth#HL$LxCkKS+WCwRi1#!lfHYW|=! zAZX==S4G=Gc`=iAU^;JAf3vMkcAn}}yJg0QgaMCTtM4LS#x!N!AX_uY9YuqVrDrmM zPn1W+ETDof9&_|c*Ay2*wr3SeuuK&~UhWh^&Wn&91+-A%eQS9UPf^BKay(Dom%dMh z4K2Bz1^(AT*kcV04xiQl}@nns8E1<1jD#Z9#B9E)nWcPlOtB!HhNNPUv#)Z zkUP00!67pn`5khC;V2|Uobgh}&#b;OlA~1YhW)l*EZxvsIDxJ>WM0dNfmCa{+@4{Z zEJb&kiAaAZN>D#t4ZnXi6Dmq!*d{BnT(XYC6D!!k65ERs7wO`@*E9>Z%U{LF*lJO- zbr4}9*vNcG^gjE^has(Y-5QsBM4DfoG9oU!31?E9vKMfVId4FcnDB{$l5OxBjhnPl zAOmLYWbGK1F=a-cM*&VIDi0GmqbOe>Lxvqxs~Dv^#)dRbCdGtNlSY*%6Y_vxA*Mub zEc`L79@)0@_8hlY>d%-ZNRPou2x4&~u6X8+ZFL^g^IT89y2lE?&QW>HcJMs?|sKjm%RVKVASoLN6_0} zCreRv?J8wsv?3cu5btWI>+19S%?%+#8d_i>kPuzHXrJhI?15Z9D9DVImd{A4{b`!# zkNN|3nu>CjiFB@R+vO4o1I!(+i)gX__MI1axLm2o#n$@UnM}q-nGHGJPO%t4(LV(3 z8JhXw@J&q44L{kgM@(Fwz-<4ML~9E((eYf7am4G}BVdf;VBejEcef_uMp?yXru$M1o?=8+oid0!wkCA2_grp6vof z)wn^R7~*PW&^Y$}E#&NGlqwKRiQBE3mk@QA+j6ZCk^Gi=c}Qd^tyYcZLMoBGE7;mU zRu$$-w%L{F>>_DNJlptsc&At*P%TpjvaHd9qC1g8c~19%NOcxej?#dx{Q47PYG z`;IO2545j(oI|GJKFMV2VEY#SHJv?c^DljEjD1!d*0nT?@>eV$W~7@!+X+*+t9Kb6 zkh6{FDT=%v!&xAupOjWyQ56vTL>Bu`^(BF$bXDVt`X$C#r26m4egeI(f_gm0D@Ykm ztj>mwW@%EabSe2@HO#p5D?oX}J1S|FbE*)c4-AGAOJ09|2s? zX(5+}naGI&KK@o2B?dm0JX415mOA$IWPL`LL#MsdU19g{kKz5G12jwWXg37nnJUL3 z;YBqfjh{2)aBfPoP{N*%5T<%-|3+f>HKa>gWBzF_8eR~_$BVdv=L;sz0X%xOJ>5icPWrRz=m80zZg2Jpwg!8ndAr7hqGoW5Y@*!V2CVi9nqm4cbIVKCd zvq}iO12BI*$Rra0A3;jx2|$+sEMfqO^cJZ27zHD`Ya8B8!D~;-L>x_2#g76@uy~&$ zI-Ko|e`V;qOX>N$T)!H)-}kIeQV)Os4Fmjrx!LOSUE9~_P6OY660ROQwld^u>`WGv zY1D2meffHshi}m@JKY+-z6_44R2aeSQC;I#oY}=yizV0%9hwt%kJ)Ms}ytpO=kM#d_~XYDMDTPLlRP%qt#O*MDdq zVs2py<3dPQkli>lreI+a8cPMnITMBe1h|O+N`|$LZqv{-(}XoOf|LvK961SgBm?o> z3wcM|Z%(xcq3;Mn_-GcEAxc^G5_w#{gu>rhcEm%+)R269RkB1%0;MQ~gX$fJ#emUC zs;-oXgJ6(h&lpQYhCTq>p>ut8X>R)D<$he+DuekIugv)ZqTai&NC(3k+r8DUVnOg4 zP`aq6ePz{R<>0>t!a>>dy!WCm{PC%?K-2E2^R3y%1a>@GQa=HLY)&MJB+?w{&;(pC zNagiuc3AOC-^1U3E3ajTzBSGjZ2repblg{&_H95R8oJr85ga}XLn4b3%~ct3Fe{^O z30i*O2VA}P!Cn9eI2=;|_nP#r!3L5-axYg23g2?fYAo`Zw~Z^KuG38rC1b1pQl_O> zO-sV*3vfxo4yDexjZ0T()bWgGMo_IUMyv8H57|u`tc!bJ^q~i~TF1~uv3yKsGdP2K z#MFosT@O~ovoeex_8@OBN^StCw_kl`z*ehk`ew#38N8(O((Z|8^e?vSv`}`fc~KcS zyX|3v)8o6!uZ7}4LUk*|g^%E2KndG+#9@nQomsgsX8N0YZ7~=sEZD&Z8=<+e~`5)O< zpJ}eB!GB=&b?hkIL|V)B!0EXRF(hjDO24)@T1k0ciI``FmIn$QyJj*bCbx2;mRJSs ziun<|OHym}nt(f7csW^5WSRK&!F9(*$a3%>WEZsuAUn+Kh*bABT)Xmmmr3XrvG=7VD0Z`- z#aLOpK^Agb6st8bEUFnd5XK51j1XLbrHg-9WFS6|fAAdR@dw4EgUy5g1!0MbjY0=2 zi5vgmXA$rE6rD!3q)35kPjp`X@A-JRr%~U-#rZ9wo=A)+ zPcC+yyh{s?8&rGn>SJmUsaLu80^~`(i~B~ptE2MN$0;I)O$CAmI69Tc-`GlttlT>f zYVDx703nrBUu|baMlK7zaTeYtJ)lT(OQ*n6fr2$8{0U!KF17BC0 z!24Y-V>krI->N8b{&@de&^Nrx<->(DZ!NT?v*ga#Ud7ozb)Cc73IuY3{?D2+>@mWd zsKl2?gE^^p(U+u!Et9@no{O+0Nd}NjViY>iyxnw5O)TYS^LB+85S$1S9Nut$p#O2; zn?&A?r{m8XE8bk@CrSmo-ku*e&fc8#>>Vc0Mt?qbiuH3kQP+q>)y@p9oXV+`%cH;| z9X9i!5}9W}0o2=A{K@v~7%mnR+tNUg3(4YV3jE5%Wz-wPOWi~#YnKEevvGXh0{77* ze-AC+pjEfFvQ9Txg=VrEQxHm-s_{G$cl#CwFl@BK^`sTZw|-tDh=Gt0pL`mNks#gN zhcf!VJyW{@GTzi=x|d_}Oh-6Z_&L7CIm-G*_X$b|JOh^!KRu25jUE>%UnmlvcZ7YX zBt=y1qN7vVuqCwUhk+v*$U4NxNax7OczVS!Ip4!zkf~;X%Yygdejr7$E<>S}UXfBM z9CelW1AX^@=7sGKnagwlBz=**N{?|-R;f)=?eFYdHoPE z?K}9+!kT=e&}$r&l%Yv*)P(4;w)&| zbB}nJlNdJ6*@p0cXZHsl{s_5F1`_B<|^X}Ysl#KDO0;^CfYldW4szz^hoz1v0+fS>Y?0OB> zl%`SF11(e{Jn~??H3crhGpK9OXW;jfNT7ExOUQRFDu{O=zp047ua158dIyugDc*Vo z^liuKZ(nCC%{2!NAfX0bIEz!k z-DsFVF5xWT^@z?v&38*ZMRiJcq^c}*8#UrB+2e@->jE)oJpnN!0%0nJto+BTyd*Dx z@(-rBCCS77MYoCcYwCg9mc$)b2>DX-Uo=CKHR^BxBrni2+Qz-0r#PndZjoI+MC=@h zjHA{xkROoXKnsvy3#j32hNl;4Vb&M=A3D}=pk%?YZ zvz$^SZkfO$AjF||z{J?}L{YQW5P)e!ZUKKbY65yTV*fj(P#YlcOxk0Vkz?Oc@QE8< z6Wb?lXrn693oM7GK)~p66psJn_`&mcJ$y7oHXr6)sCxd}!}HL*e5^bS>^d9--B;l| z18N=)k_I0XA=u1%)s%5&u*NW(%tvaqEz4vW{1<)=zW>FqH%2DTE>YP7{;a9P4-iV{ zaUKG(hPJzJ*;DM`VL82(Gb@S6eMQ17)%tkGa79!n776^1?VEN(q>owNUPLz}aUI(C zdrybo7-VTD7%76mcvrq@>oY}6L3;{G-Li{e$Zg#K%QC*FWY#!3CuvV(TYsMaTtj0i zMYzC@o)0Ks%8<^DJdqm;r{ap?V53xC+H;)&4~J3B99lKuZt~RDvWn{B1!}y0m3m2) zZjj^9!tHmbJA+hwqLO!3L0fO1$N4WpgeoiM`VFL(Iu_J1Fv;GYYsghFgZpn#yw~kgRTp`yU%dFYSh2U9%9t?>E>ii_bUp&- zu+99Zk$pp#n`9zaHrY|{C6SXB2t2+Dfefzb-MQpVX?3mZlw`&*hteAWn1}uWW_-do zBBf{#4+60opOrBWpKaTT4+Mm+PHe90#IW7IQAu9eLOcXMyk}r33uS*|g!d~+@y-sw zAOb)UAqf!PlMNa0Jh-kMcMB2T`=t$1Gp7^VMH4`c=nop=iK#Kixhe78QFccl%vRqi zhLVUWoS%WBu?$tw5WLS&>7%T_F%_Yy;1nXLoOzA>RGCKjFzLs6JTjW;6HtdOLM6#06*Ss;(<3jFTMe#?7&A5gDZKhHaMKhh&wf|;%l zd&W9*53|>et7a zvh`@tCNX-w;zbK&Zn37+4`mLUFw3iRQbZt<^-3JkI~y@?(OHVsgFPR*N59rh0S)0r z8lRKbqa)v^IL`2=?SJZ_?z}o4P0+>PRW8q%&L=&#zE4Mh-+3qJY=3F9Kh8VAG8Z>& z9I4fB-xT}+5zWe4xD?thGxxCv5KnW+D1L88)3g5h*Xy4b8`dAiR9>=Kb$!y4Hmz;3 z(DFK(m1bs)*4NkXOEpm&%DC(ZSl3@Zp8%C^&G+M-uh+M$VgIk&x8vT=+g!r8yk8*E zuUH@RPyoG)WTB{ZVsUDrsK-|j3a60BTlG3zBIO350$>RKcrJUb7LX_t8=&Z_ev&;^ zO8PWIIX=pMCurZwF$1X@Sxom$lu~jgGziM9UQ2IYqgBtq_(J3FtkO@$#~49f7yIMq zsaw3|Tgf={v7c}6X7>%p!>AvBBzh}6m&K=y9DUjh>;MAQ`~)RV-5ndXEnl`Znddkq zDKIdcpD&Mo8?H;L;O(mCJkX@H9Yi%?43Y@uG2D}}i4Vgc1CVCn0lrMvnQk!f;iOWasvqwa*k z=VQX5^UePy@MlIC7ki$Ep;A^Rvh_k zF~uKZv;1I+h`)ac@xjK?e~Y6h*do>n2%pj%^LQMJ5##7uJm)bJi8&788qT2UA*mBC zIo~-jYMNJBDO`Vkqe<2d~Bf|2WE~&QfCoE zZcxgkm^Mp$URSOBpm6lIAFK0=&Kz!q|YV|)u+?=aW>9x0p_3e9V`M$(Rd3;44 zZWkzx-?5FK#`u4V$&f@(P^C|eFT+@Us3o2Wz^)cU=}Eq)5Li(<^?qzpQU96MAfQ=t zD%;=7%esYnkvj@NM!Ce3h&aYxhB{pYEi|9`Sfx9;56sOch1?HT0;D$Agr@OG5_)o# zSut&4hgGI6xVGRqpxk_uZJBDES`W}F4@IW&GUrT5vb3gk?`CI^AM_$77$$j3f}n)k z?!bHlpaK=TiR9<}ajjq!Mx|7{1pYNVBKbfzaR7BgZ5UGI#%q*O5Y0;X^&5phVG}wA zQFcCz97(|{VPkC{ z#AZ`1s>rQnbwZ(~9P*Ymd2tJ<4^!|S8(9U$y z)L!imdT>B6-ghDD7M3y-J9Tr=dYR9$N2|C#Y>_w`BTD~SVjeic1W6F!-GC|J+eJ%A zII;1u)oNd^)%vt6USN(hsrCb_f)h|5GD(B`KgfH>=*qsf%{NBHsMxL~6`K{?wr$(C zZQE60#kOr%Y^!(b|2*CO_S>h&JI)xVznn40-XD^YthE>BUh}@L>vxB`MrWCmPcQd+ zjnVxzSZ%vwz>HuPN=61zf-`_xbgyfljui@rsE_(L(_v#J`3DSugKPX?1gz|hbwjYh z8F{mQ!=L6EgVVtZK~MYr`6KLAmA|_gKL1qE05?F0aJcxaUbiuEDeI+x8iE(D@9+%H z<55EIO6zd1z10wKQWJBs-9Tj$JJ0|_L(qkg!hPFyf#HgJ$?50~2{4g>PRoVC>og&W z#lZcU!Ah8zYIc-h2KV^6Fjp+0M|HKBp;PL@U&o3m#ZA7JrOt99D2S&OD<{%kQ zcm;&_F99(GP%^-+`mwMIc!?x9m27vea8<6~9ITzzyZ8mN>MyKJ`2WUXKs}Aaf~Tb! zjr<-xw#onu0pMWdIIqP;XlM8jye2yu@UO;MhH)sh}9k-&wI0j zh;8L^CN!U5h2)rJQKLkI6QC}#<~k}$vYM1=z18qG)Ki46YG~&d9e*d@UN+L*$o8v` zl*~U|@2B?zmf_jPr2z@Uqbx?cx36BOAo6BlaB}1K8rLWMLN2?F!bUwwiELHEx|sc+?+Wj_hs8<-(6njueU5|@bUazK;y~=tQcj9Oe^}U<2SXkP?pn%}l6mQ)54N33(WtbF6lo5G@yU!X%lEe+6U z&qO~4M1{YXs_oPy{;_O|RD*TCw)vu-pmHwS85M%vtlekyBbL!=_b=YdntbqaX zd%*_dgzC-XqY${8vh?mw&GBge*-{*P_Ui)ooUrGgEqDFrDbhUQ9JUhN#p5+#&aREMhV>NAfhE;O%M%``S2pnaWF{=38h zs24hkP{rOk176dH>pqhuyuTLL!5aQG(QW+ybfTLEOmwv5%&bJ1(nQZGnKVs0g(=k> zIzGkZ-Z59sDAo2!+IuTK8^Z!#!d)c%88<1FCu&teMn5!h;Pw^l693LwxhgJSExeE_ zFaup3ab)eUXP`vggLkoxT$Hpe2JQq`qx+z@J%f^;Gww z)v3;|1{nKJMNq42OphqSRVkN+On3cAp@>2vaTpi{X3>^p$eWIDLkdprj)a`mjytXX zTxOEy)aja%UABl*3Ptjee$g3%_&sq5o{Pminu_$x{4TX)%iyxEc$e#mZP|2J&C<-l z1fp6w5oR3T&q*Ik4gdWcf)pM`yXP%MOaBhW`{VNZAdDTra1jhn;3Zf2#VKeSSw^A* z%CeBqL}Q!o^olrn!`UkqHBu4$GLew0fIwRws!7JHXD*H)e~H}lxGedeb{m0voq8rj zEeqAs(=B=%Z4$b&k{ehA8-IX1@?}W0g#O$rCVJxF&*3&jITjApuc7qdC$Pl;rq}r$ zD9eA_nVh(qLC11UX@t#Zo{pok88FISfbG;tuX~^ierU55wqg{M0G=2MuRgJp`xk&(uzepX#7BDAvW(#EG)_<25@IK{* zvAl|rWi=(g*Z6ALaw(I!(4ua;Xy|n3RE`Z!RugEo!D{9gvw%` zkZ;IV8g%;qW#f|Q7GAGxc6%F&;{_kVntLcy&OC*2_JKe!msu%d*2z~~!y&juBVoQx zjIzZH!om5B)^lbrqJo7BSWM=J2u2VUJK^uTdim6lT|4eT)aQrpe&GMZK6GevX> z^63(>O*a9obj!#FTp;w3fSq9q%>tDESLT-4o)KH!BdGH?i7^vO}P{+TX(hNfh!GulFqmGLivvcP!>fQn;{fz{gEJ?nx z=rZ1M28{1{U&UJ$|9LUVd~z&j=X%>#O>v#@8HW8@HN0y{ZGIQKbV(?n#3K`wVhri@ zR}7i$&{`?Uv84wm5*8!K5_*%3NVF!M9+s6)B*k(yp+NO_fw-Xd(?^?TcQ^5CJ?L%t zRCwA>*?pnEGl?E(P4|f7a`Pbp=@_#UFU%2+4GlA2e~qHTLG|BlIw3?x3>$LDBGNou)_HN$Jp+yYV$QHP8yk4Yv@O}d%P zeilThMO0LOt>{qzR`?7Q_J6CGY!5^ow8Y_g8w`?1ze(a<(3(2MY) zHoZTpnDR=HisL}U2^g?x{R6rKU*+aXmpPIewwJ7hg4N6?FG ziZNQ$8|zqGqc4P8FqcJGUGrUwc1^V|649f|RN+aRx{M9;du-$ZY$)A{4Q0XH-?ylt zhbwSEkf5oN!z~;lT?RH9f09CKhG?IHXc&dS^NC}87lUbm<-GdiJ5N>OfKOM zqtsmCy&3;u>Y8UNDl(GjJqnO07zw;Mw-zbMg0}_~GVYd=NIVkmy<>zeLX38x$0Mo< z`ng}Gz(m?D|HKpOr1XT1_ZJSy!n?H4*L$Ho0`atNWS162_>`sf`uG{lYlrd#qd)q? zmbOtI%u9+AFX$Y~?oA_OnCR8fK|WxPf1KeRfjCm9$BDRg979cN(O7+=mqikFiQ)#u z%XO)|HC+%|-Yr_ZsRNAsC#=EcOr6XEYAaFc=q3lCCDvWiM zm*n84_^x9Jqe}|kh?l+iW?P~4i!&=*6$5pHw(V1MuXsCtF~{d>tzXUunIBTeDKVK+ z9G(GPr87YMMTCYb4@xA(y8>ohAb33NyD!?LExaWBef6Z@d{Th$3>@n zmz}5cN7_J2tRAKx`K;Rv1hiRcwFg{6&;!-TV3)quA#zzTaRK9lYggvJo@nB(Ase}V1<`vM%~ z%il=RhX5|9pAj>eA=R>3SI>|Fq^I1EqXH+in4yyK1@(5CoJ5{{j!?8$IypFtW1Y#a zXN;*cP6$oaH$mItaCgzB;$qaPrTu%v&O^abLo0af7an1uk<;AE@P-diJtTDcTV?D# zbHfF3L?iO5iIVS}^!uQ9boHeg(_S*d@_a3G9k!e`5h~>od?O?FhF(hORj=#|z2hM` z_dvU~1w$chr=otFpwexb!6#*|@if&@SrN0K&1bqkboY=USm}Dk+Kn7&zM%i{@<@F; z0%qkk65?)TAL{65fmHI8Lqd`t{K}|d^7UxxfZ)wA(+Xbh7Jl&6dc(t~-A#k{V&nId z56=exRYv`ObK&#$_OR3G^YnJ3{aWX~#?|q1b}8KAkyi));EfT(=$%oc_NDvD4bIoziKu98Jk(eb zimY2|_$h|w7(U{)zlLO@=B%S?^uS_A2%34p!2UfWZ~qIB1P&xeAv*ZmX>zcucGGmoQin+w;KGtj7mIH;!DqNijAa~`>8L>|z zF1?2gWuQ%{HZw+CfvrNhMIE7t@IgiauX#D|l$&7rwk2Nk;J%dZnv(5GYkSSxhpY5k zn5mH%Ws@n0)gczhhQ$?} z8#%c=JVz5t-Tn;@Ut`t3ET&i^+W2(pRG(mMC>xQ!m(?S)KFeg~I1zLMJe zsmil)OoKesm+{wUjwTrAq}!h!tU>Exs!UwB%;DdgZ}k23BkOciPU&_D>?oQ z*ji$l1w>C1jy*FjH zrw32{Xvz{7lz`k?l?npDq05DXxPP_!aV|~PUpAgvY1&UhNqE$Qq&2+v^`~+GuyU<( zAT>{uuH8p$VWig0?Gf!SBG}U&>J|uOx=55Jb(sI z)H1V-;bASGt(ayL42nG(nV@l~(!u32?~02zwXg{^R-}KesscN_a!VL_oP3t4h$6H} zR{$jKgPmma&*_~)tk$s+GFLcydI#&ddJ&h2?vz|9_*(9f6HOvCW8mwfH#dG4hU%vV z8OY-}=YF@Rhh1|VU0_8;a%Z-=hRra6jQaiUfm4y!$RIlJS*+QX>*!ZM?dOSCR^)y2 zPMn@U8?xNW823!x*sM%ix<>nzK*7fVH~h2kxFlfMwYSPw-TI;8=*`^tN4cEK)s7Ch zbmx_i_T~=6!|BR;!*le~xAg|S(Z?0^E%D<7ca=k;D&(`qY4jP&ylDy8{2PTU!{3oL za=%ni5yp3s(<(8uR+)BLr)iSn&orT_u;jn*-fZF&&O=HbiB%vZ&UD2rrPQ4&tb?T3 z%5Y`GA+f2;f0^Nut$nl*FngD&DLGeDH?ssptB)4?InA`=*#>`+P?q;^3QEiocmVBa zlZ!brC4K#)KzaVKFp(H$bOj|LK2tz!&>Jg(dTL7n*b?GyCVW9B)zrR1~B{x43Q*ld}E5oB!eJJnwsB+sC1G%eU~( z@AxWBF&E|IQRAC0wW>ZhwrhyXk1Flo>>b>p8y}U_HER32alOxdzw>0$3~{l6D&X8J z9NeR*LRa>svcOXX(MN0RR$I8Mltj3OHL{y-TE0uU5;9GC%2UM4u#hu5@mi#6(tg|r zBkOHXo!U32c6n{_e8>XcJ0uQxY#dLWOec;D-z4->7gNmU2?&v$kt+KYIZ+t+5CHxlP;6%R+602XF?JYgwX9bk$6x-W6K!u_`^(MfFE1EUCFs^LUs}kI1%SEMITX@a8CGDp@?rh4cXUHT+5BYH zuCo@S`5RnY82F}P@K*KmF+OBY^e*=X7JTJzU+bOweh!=&hr_YlX%ghcs{{O3Z?5~d z+e4vO_38Rn^`EaRmx}0FoM>2%k2PupDK01NW_jc$$T=%lbvGW1UND9vMrX;wZR9^F z9JeQy;})gc7{bA=rfnSNzb~3Ro`^x1JU28qHE(MS z|GASgIUqo+-%|h>@J^HVqMA{q&uS&xRdltfx`GJ=D~~X!8O~P@AIXF*7UmF`90U`r z{6^l`iz{w?xqB?;9ZV@?Z33-x)xAafN& zrq&h`JbL6J#kh*aZ+}3P(_vQ)-X8_JoPaa&Nr+Ie)A3kpaXPk>dQdb|N?!nJatSVl z?d12ikYOn+Fg3mY3|<@w$RYxr@Tau34)+<|pS9!OH9sDR*nlaQAt}-X`+%F_Ha@K57-%pzEXemuBiH zL!AxRcg|85CCvydwQF_ogAvWCd}h@0ThDK=1(!TaG^6F#pydBsc)$jp^nV2&5QFZ@ zir7XNq@zxBlrnk4dRI+#!D_?(qpPi<%?r!!!raz}sy#}oHb@tyB|Fb5&x};UdzAYY zwZ`C2*#cu^cKJp91r=CM+43yH8`*4N?`)s~fAj@bm{=RVaOQxu5wkoB86Odc7l`HH zxMdUy=7}SoSKE`HxmM^`$=MO@w>c0fjqqhs%Q8KyZ>u+J1s#y56iad`<|3bg+%QYv z5{cYa?(%>eHZA`f;cYIf;_xNQ;hf!jum)A)2|oy9A>_qNx5Y6K`AN;lwVN2r7W_xN zTT$o|j&-40y%yZwU@Pw4rP{&F`4id*o#Z5he;z;S-cHUXT3&wt=KlHc_~hNm_2_-l zo3r?GZL!L$vGx-*ly*+gKg4WV$9ZZ>Jb4Mm=GUpcU40yR@sDM(#2n{AH{QCycESsU1pd{81aBr3z(*lnxRKhQ*tu*DUAk8A7)G>i-D@Mstg%TuWtMGy zJkZrkYtv@?Xz+%9POt{JeoI#T!hUrT*HbbKBcKyHa@T>txNr0aAmLF^Fev^;KUC8Y zEO)!d977|ujaYoiyAxWj3W;gznxDj?mnN>&Ax%FP?cY=v0E;sRYq+GeHr8$;N-iGa zl$etnOb##Pn#q|n1Ib`<^`UQcbEB9}#K)Z%E)}a@xKUh=zW_qr$(bA7fwi*2@{QF@ zAjTv#+^{KpqEiQYj4Qsk&)UU#h0dShaeKY{_0Q1My!V~guM1L6j~jEHx%A(nSR15_ z_h(44Z0zk%(4C_=Lw(Fen%3l)3*O$_YqI-Q-%e&wD+&y4jSr`VRmY}D9dKp>ExJz^ zti_Q9g9YUU_@%bb?#t@$jt)TAU*~c{S6nVb;xIhu!K{6&_P((7Psz`VRi_#6NEGHN z5G0K#FTx^8JK(z3SEOjfl&tOS6^9D$flD|1ya77|m2QYW5s+q7P1$5uUA&1LZ#`V- z%gY@+94}tGSo3D$=k2b(38#b|bXbxctM?E2GPM-#(X8q>l#%7mXcs!$uKRR#(iG6t z3ZO(nhTJ_6+gDp7`3piZJjZio6Y*&=9I&JVBWrrcP8(x|M2p$;=pu2Lqt34KGf}F2 zhAb#RTu_{tu1mCESTA0TOtVz9OQS_dr`9n&DRd(j9dfgs?n+Hx_LgL^7Ne6&($q-W1f5q5p>#=t9HHh zzcHDN={D6d7*#TV&0vnQqGBrG#-w`O+~_2lx(B-BX5w{n=bRuh7ZCZ5&{e@wm(wRJ z8?qFsOUMxq_ps=v36cey=oac%6uS)tXE-#Aw0G8D)))^y0CHlq7R{{R%1I;^k@$)i?+#o?uU2!i;`&0`yZF9&>5_1|hzRMoP4d~_g} zIuc#BfmY4iXk8G5>^fiM8DG5S8eY6QU!2=M8Y{|sj|cD&;MyxXctb{S^BNzXV{|rN zb2jp-lbSLZs&_%av{$GfntV`&xFc{Ycqx}7ULI2o3Yk?a_Kldp7tT~{=Z9BaIi$T?>72Qhf{rteDDu|UvhJ9xcDTubJ z-^`oL*-mM5a(@!!UX1^n8mejC*>|~pg1N0dvc7otOs|%ABicf$86;c*8->*x%) z6*7zmos5<}Q>kkt)Q;)=duy1Pzv= zCTp>49fT4_+!{{Frss}>u}onkbJbec4yn%Ua17C6c^%9^pY?9$Na5>#=GyGg{BKP5 zIGsQR-~d0hFvj<76Ul<295L%?&}E?;K7uyUAsXXu_&4P~SiT_|qP9OJJI4(X5WkF9 z%!kWgWV=bqP`;5FCH#&XrwF%Tq>5t?3rf}BPf0{Js8@H{pd)@SfulzY%ADRN@vf%d z%EGZQXiqEkKyjL#M80vub_s@VwZ27vkV?w~K4QcCu63HF7u^TU*1iePrnPwlmU%9J z{T**_#j)9odZo&@MorVIf7UXZW%m#;LH>T7YZ~cJn6~atpq&)uI&v^TkN6DdWknZ^ zX(T2RrY>Vw4Pc1j3Cx#{uP!g)bN_wn_`W#ev~c@PD&_d9pW-<9-J#vnvy$uS!=cmT z(crGx%@dlOi^nE>=e{Fc&Xf1m;-;1cfOaJnQBjtk(WX%rs7qd=w&^)LvrgFRv8JJz zFy?^Y1uY|tycSx4=T`zU2hXv*{23^XWUGEmIT1}&GWDWZo$@mOcK;vkF{qth zuS^W&}d(5 zf@;?$?e8yFH*el8JR2|a%C;xwTU#g`GRTo#58a0Ai7#1)u>4)lKX14YA#355AS^j^ z^7J(H@jtu;SLe?v_xMlW42fWdXGOwrsuL+0qwgHjY(ql6tITlu3XD!@**h@``d5J< z!%Y=Um@ z=ES>+#SoGq_81vp`ohuyZia@<^TDhe)Hhr%2;%s{@@s{!)tB~)hLk^{Kx_}d`GCNH z<8ko8fLmkIB#aQj9yPZw%{!mZ@javcyZ1xa0`=@&zRLNU24E6H<^#RaB7$GGvx%W@ zZNcCa0EK)!BfIgG6P?0i)mr~J_*Fb;H8Sjf zm3dSgsB;$oI#^D$&5AZq>y_M6>ElKEh~y3R3Eogxl0X2Le@iiT+gll^|kk_R-ucKKz~{G zK|ohoc2u@qIl1(m<86!rw_SOO!`!UoubQYEL*m>J-|P$~uv-oUmkCT7*<9c?%pp?< z7l<#$QMM+zgwxcmA*#tts%1H8SuE=q|BfY0?!VWealdK=PULJ0BlpoDwoN^SGnzp5 z(FjhMTc3n1^{XmW#b|8_$9Dx_iy1mxKTN9F5f7WCHplHTVI!G*VU52HiSoc=Lc*W; zvl9nmJSEH_Ei8dk!3#ECkX?v} ziAJS3`|OX+W9F6Uj2BieF)X4fk9k4}vo^;qvgX;_CEdV$Kf*|EQZKYEnWe85dKlxO z5^~5Qu2M6tHyW=i2o%^D=waOcl8q33A>h{5`O+9o01wZ7?PN`6bi;c~VZ9a@oO=N5 z5zL^W0IGoli&+;gYJfp6)+u@C+P^X#pvhJ}p6ugx-a_(Q4`(wLf^82e`W6w=0U7g| zW9a@%L+o`T$oci*z|-gb@LHKj$oRfzx2%e`m^fxS49)Tb+WWqpG$a+68msfqmZ|`b zMW_MX8-RXr2Z8pBE587>`usezhV!~Lx+$NWr1D{Y`5*(b1SOPB_k_3)7zy&0Ihaki z12&9J*MkQUQV>Vh25uh>jt{5y<&sR!rkDsm74lH#+=&?ek0p%V4}P4f540WM-*JYO zdPtC`K7MSu7eZ1vmlVPOIVDaB1!mbUa^T7fepyV{q<&kB6ekD9<0YL4!qxM;c8-?R zRQDj2L|`XP`d=&;4ggZ*+!VZi!y3GvC%uvr?&EmC?%_APS42BS#^y>y_#BV?%Z5tq ziikNcRdA#Xko=4286*L2nU{(|8VQ@p-ce+t>y{LefKI>}Zj|3yP5Rkx^)&7mjY8Z4 z#IBd*;#%-!H^alYtOwrHvO@}(Io?)m-}E6ZDW(?7%G$ZV$FtN&@Qs+7S{tUeR##6* zhiMfO&S7jBXpBD9z^_p^8flFFLxXP6mDrE{z(+S)tC>CcjDkYLil+d|^EoruavphA zE+3G!{FjRX>0f?JGvRu?rD!79!SKd3Sx6(q3~rZ5)#QioeZ~QB1S}_(bUNO`mdUKh zea3H-6lA#i4b>vn%*O@|hyvO$hytN{w?ge0WM_nVYk{*wy7qNF&R_LlgG7YvlLT=G zaz@1?zZgKv&lhQM>yd2b(F`j{*Hqf@u$q1|MzZR}!vQC+7>+CzP=vi)`C**5iK$rs z(l0Sg{bNDlZ@~3`adGL;Bi>WvSwhI{b0`J7j^cYK&L$Mpq)A$a8AdVidR^}6U?%4D?e#;U z2pOHlQsc(y<%J_z!(giq=l#4my6=w=E_l4(8lO8fQ&v~&pRWQt8scGS1op^a&0lSNk=%I| z*uyY6_sCPxh}JZL9w_W(k2!A=pegx?IRC*d5QVeI-IXZAnTCW$(7(J9LH_*os`T*N zdf07kjCni8s`A^Z4|R55d6P+j8?2;}W@)NHbYPs|U=OYL5?m(86#;GNP$iuOv1Dm% z{|K8J(g_?L%1eX==ulCHJ?To56S}?lHghFNxhx_r{a#fy3dKPgB(yH%QBpdy{ zzhSQPse_yDOBgSd&cmKC_e_kolcXq2?%^o9Ck$A&b^2>H4UdAG z@&3AAPwK_GMR&B5LrcL1e?#jak9n8l5lP1R4wn4J-X3(#@{eCD=cDTY{oVEUcu>?Vk){*J4}#1k-mu_2<>`NyXp*@UfG8 z{AY}CbSJO07CBU6%o>uqfui1bZL-qbZ|_xlXdg07Hk|@YY%OnYdzO>)>q#^Gm4rbX z(s)&fJ(i}Ztl7c2%layOk>|rgtffT%E)i1S_<|oze}R>Qnx@TipLJr|qy03kf5i)Z zJarbNC-)^4mRuo@7u$N%xvYu;lVU9^{T&ww#v8%P|A9Qa;qxF$mw#c^MTz42isUY*|4g>=|= z;ZDzP+`wflc}9X|uwnlWA&07tiE_lM4ynt{N z!m5sX3x7b2%D7_#*3;GY?aq$d({&$q#?`q89PD+wCj{@25HtqFJ9Gl!(`8P;K{?%R z6Uegs9b=bFwa1O;;&Vo zUcq|Gbvl}`5mCeR_gvm**k8?*t1~k%8usa6pf>?5-Ca7?Mmk3lJ{i%FyZzJqg$tO9 zU4DY7*))Nu;Y%%mi;(1$GM4>+Z+rhAZqR5Y)myH_>xzO&Gz`))xP+EMSG1F=U+*zR z`kXceO%yrTeG9M+PaqadRV2;NQ(mgw&MhupkAjnU5Kd?on^m9U>h-?=#Ah&_{yeHu zZN~g(3K2LuT)?<-B-xG!ak@imNkWYfEYaH7kemhwPnPdHz~ssBcuPb<10YQCE}H?R zL)7k-6U?;>Vmor?sD#UKO_Okf@fG6#DJ6R5$R|wHQAfr?S-eTP+lJVn-Grde|0dX( zGdCZI8S+shny@1z0nXBMwlG<}~m1Fl}o86xz;9G^xqJ$I?@KKDX7wCsgcHVju` zDxxd%r4kH8Y-=SMqd?Z%o5C)cD++aS&DH{uBBz61W#SIJa?&Tv%?<{UcYh_a&TiX~ zwj0~$gJ(BUyG+)8e-W$*!0;c6WHV--10=i;L|Ps9>M0tvLs7fRaDYDcyY_0C*%$VW8yq9_NI%|neuJc=tq@l~(aAP5(=!=iFf`y0Z|4rI#gOl-B$Eb1 z4Hr0BIBgbKUyatgn>9Umtl{@PEUu^6KL8Z|$LG&wi`&%sKLyqbi4z($5l=gIW`>yJ zn&yfXU1$!s^s8mWJmpNdZYqD3zCt8zxkt=dDvqA)(eKx4j5$~fV}Pa`N(9ZGu23)R zcH2#I_s$EEdCa=TgMAnVQ0X-+2G9U>E7qmubKW5feg=+J7u9I{?_T_uP}JnQZ>NvzlbM7 zURuK(X>gfLS$lyWFgUvu4E{Y2G~+n|VeBKW`VehockNkK_d z{=Z5lS^$uV+*{g;kbc-|xqWo@HVNeLzgdwhEE>^77|b;n-af>WcL{zWjokF9oH|lc68+QzbH9;(&4} z*o@#PM5ejfM?PIfx;5HSZ>2Pm_Ph+7`uh#ci?2LhBqeKGcd5S|c)=Ipq(dPLCA#vJ zoX;O5{dgwDP|{0u^A7_-3F5<*L|tS|4wHWo$bbD)BJAz>>H9s&SLNYC?LW8`?-SwA zpEHjP6f`>zlecYu!hqJK-EmKl&>QQhAvR0~B&bLlhVUNc%L(Abnwlb+d~f;V5>XHb;PUFx-&=)5>(zv$_!Z-IBKrsn6D3hj(R$E1R-B%exZ# zjR=>$AvV$oj6%4q_HmB_-m-AUI6RmK@IA;WxPS-YtNly|bUih+EGk%ST>i~-A$fXK zIRYD2@kq$&} zRajzoD1GSAqu7XenPwpbLf-eWe?>}#z`*e^a)AN#yV%^7(Blcljo$UKvFGBDi8JULa5lVJa{?A}8sut^}vEv4UQ)Bi!& zbGc)vbrv3?jG2)-CRGrkyECR}}6YAxTJ zbzM)LV0dt31>fAv*820KxgZ*)n^xm3bI)VK+V9f(jwbF|kJ?*c^G5 zVBxc3oWleT)h@mm|8!bNY(6h>T1xz(u`(Wm`)viHxfiLr34Pmb7MW{xaMom0{_D7J z%tC7XQCzORNIi3h@GjKRGs!jByydn;N^sjk0|ch6NC4tGDdynd0>2H~+JHq7a%1xS zk;#h-dI3bj8{_CN^z<{zNlU~Z0DDhwZfX)yB1SYv80Inwz%oK+qaN`xSygdp=>cEp$V=UnBjnSM7(u85RPLo95X)^ zS-g=E4u57Nf1{75iI*T}aQS{pf+ehMG(J?6bW0(oR^4U~z!{dzT`3%+#zH?N#M@YE z^4R0QqrA<@31UAHb-cV^zMQ=s5MreZ&Y+4Z7%G!A81KjsnU$k4kVui@%J3L8pjweg z#W4we{`%de57@(yvoDa?jM6)nsU7u|Z{{aw=t=Z9VzZGKc(GYNHheLK&t6F+QbC2p zX5ocqJs`;O#iHqy%{j%==`@)tg`X%}a9xl*6+Cm%VlR%zDbRycV9V-In_9yJf%~OV zvc}3`lNG2aixIu`A~JTq?>_)Tb3LB#yJ%^Ux@;`WFCf4mcyfFu4N#Aj^@uX>#tc%o z!dtkyvxn%qKVErRc&ef3OSy~T_hfH(+iMGI7zpJ>prPM^7AEX~E67LGSy`a|JVg|J zE?jo0h6r#$k1SmL-(OIJ9_5HC1HPB$ens)#zoHS?^tm3<0+LRI0-87h?UF+R>7rkL znhgtD*8@eIGDPli01Cpi2IALyjr`>Y?mb0!>Vq3LIV>Ojv?s-^lK}lN>l<{n1ZyP- zW|;>KHOWUhF@+|M)+ffG{r5D+j8A>`yfRa#%+UPm$wT7_Cuxk=sP|ToeXdULg#@fU|1^`_DdqF@in4pb3$H z!v#;I59Jib3`mDaq$f$C2jaRxBJwS1Ht;P;hwwFFa81w36!KL(F@&R&yZUyGH@nY` zY~Y<}JROJU2L+oLrOf32152{7?|T^ljl31hZ~*xx>i9o(>2gm-9#oBynQ=4R+sLG$ zldqH82B}>B>`O+AP1X!(NR_cQ+;NbUi1*KhGUSnc_kX%nI_3QE-|Y?6Ra{(z||~wPwX4iW)Pl{+*oZ#cK?-M$yXn-SNV82V&|c5DQ1$mIR;CaZLjsw z#H1-viE4E|5kb+yjBY~$msz78uqLD5Ryj|@P&Z4s$dA8>eRZs-miBRd07&EW5Bsfa z8_DxA9DV0<8HX>xcVidHsWv4=?+z6eFL&Evm3-ZAD}2KL-Ie{s8RjACt{P z+TAzJbC$8L4At+Uj($NPh%mnX`*4~=sDUgq37(j7Ajbp>lt(H+-W+`m&_tIi1oM?1 zJY7(4`@Cxxw}#K&Du6E!Z;)&6KM6mu6GIO+O&^k z`jbZNX+sE~(#3L5HIfqy-zSeR7BZ-w)JRHcQmT3QjV}$|v}f%`FN_3od_)EfV^}}M zJT>g=9rcxOqIZlO4Ie<2yUIe8MBH1ugWJm#Bi`eBH6%GaycbZdWlQ#R1%=9L1hWfF z!Aq1gmI_>^YpsNPCUpaZY zn+K1sl4{RfM$fhp0BM2z=JpyQqD`HVBbJgBA`&RQ5#ef79OJ|`=>RlF#kk9K96&F? zIYPf_`8dn;nIgH8qkVUtl6@qCsw8ijh4bWAEvRS8cAmAsh;OMTa0Rw;7@}PPAli3J zHuwPcsyNBjrqiegpe<&6MmYXG2%s&dVk8Wnz)$AOj;M7T#mEz=;gTPg*Z%Ut8qQzk zWNriW+lGkH2D%G26JK!e^Xt?B>9bLgWbhOyRkRueYM8Htwba2Y5%({0S2fl(&~als z8Y&3XN1vC?QUuxaxjmXUQNOMqJ`?QAXnGtB(2-wAy{5}PP%XOD7%R&F66S@FM=}0j zfnUDI3{RlXVREvZxDzI68GO+}tr8A2Q6dSCSbhQx3kyfDDa0I>0P&-{SKPY$NvXA`8P?_pkS>^$3h^JfuCN-Y+<$wk|gNU&cgww z9=d?OpTPc@YF59`cu9+s=WjHQa0O z?#LewKM&&E2bL{ti;optzwmYwoUlLyoD$t$zrxm=KxDB_vl3OWjt1dYaKqp-ZRrk4 zsteZ(LV)Vlex;=kp_JR6k-} zVaDIMr=&88Rv~>FlrjnF!CUnmD1s^8C8CPoke(Z@y#%?*bT(LESwXxQ0#O#-i?eI^tvyAY<7x3I*UkDJXvjC zC38_r^uiH^>KK#tpd~xDMmy>c*=be6f*!e(oo_y6S2c)O+Nh!lT@>305w4B;0IBX3 z&l9_3TPB3vJtyf|R{Vvuw4($%D`wwuh}}un>iIFm2vm0hA*A0HG@)xeI46NC(RH$e z1}~V*K>D%iWuHVcAEi_VY_TX$D#Rr7KxA@aADt08QvGMO8h{;`(~2@m`PQ%V>#vyK zSP2mG-HwNB-{0AfZel({F+QY0H-_t27Ba$GS>;$+JA@78j7362Xo=Sdq^ZmkkR`UB zXE$g9&#Q=RdoZ=u#EgTv3U>{EqQ)qyO3~2!gOB|2h2huW`ZMpsGkj!*cj2KOgvkM{ zU7SMFt-!c!!8{OZf>|HN;%i16@sE5Th0cc>0+(PgR(YflZg=-sNw_&IbLcfL^cPn@ z&yob_;B~2JO@(Pji&l}RDq$JSx_#%|B&Ms!ijHc+fa^maFUHctg{reeElVk_#ibw= z+#kO9t3wovgB57-ERLS9-d26xj^t4v!`h;8fqyhrgH}-TQ1I$Iy#QyV4a(B8E+x#^ z$h*FVPI6<)&~-hNGdp9CtgE-Pld4qP^;O>Q^-V90n6dUS#3Tfb;#Oth*MWU&Y&-+H z(aZZmUs$8YVhC5T;7AO^c4&+d#7o=u!u)Y2O2)i$c?e@zV#fHXNIOemtjstOlbK$| zF)_szl-r*B|E&Iv(Asmo{b(Fzrb%BWs=HD|OrZ+K4ieUdz%|!widAl>8$?>91N%!G zAmEsWAmEsQAmrefwo7-N*J_%u!3nbyqd5Mn;XCwmk5Ku~gUCE|Zx9rMqtBiB)SWZ;IS zB;HntkDTtB86HJQNXg!y!<#bl&dL2`?0s1SNmS9Fq-1gE;SKOf{tjph02;29x0JWI z3+5UgBdrB3GgCW%kVw%%Y}EbJ_(zInKvAMB$GG7a_x&6TLh?kRiv2mp%9K=$V_3@( zsehyYX_U-wug$-KSkmAvI%j2WiX7(4A>qgGd+&YH|HCRLaw|t=Y!kWymTirVDo9MH zKG(y<%Y@qeei!ioE?a$v5P5wW#a|^)Oqu!@&VOU?tz+w0+iXuWvmG-tGgHjW%*@P= znVFfHA!cS~W@d=v*fC@5%y!N>-S_)?x;1yCk>-!9l1f#z?JZZicJ23F&w76Aq)4Oo z^3q%XN~wFOP145a>FvSyb`KVd&^P9Z?O^r21*w;OsP@gC$oInY;2`$n*v=zzZ>(ab zHLI~2KM??nPwO{STPr$ILp%}s@$xj}pFbz$WBXbRsrSJr_=)XS*YuZGJyAD{Mu^Mo zh%?hSO$rLC1KyIp7$`Dw<>Jwh`O*k$DTPcn!5~VsmNzIgXm(Jv2sdan!){nWpLDtl z9ANDLl?@*WHe(x(ao5$M<7Fu;cMb)K_N|;pOfcw?4(%HljzBlRL?~4NNDg6Lfs27!&2hOT!vo;5VuTY7F-qYL&D}>+g*ui!A{;wKY?~9?SbZ;r zjnk46ijPthI(&yBV?|*Wk1fOrF8k=G&MggwNZG4q&)*3As#9Zy`i<(4@a*UpKQ~4J zO4sfL9I13jK{;3$7ELjZnN3|r6}z$US5A56fb~gBP&50w6f8>f^lnD4EJV`Dx4s`C z>zmI|X0^dG>D|%hGL0BGgu=ntchRzt^Yry+{`WO%c}HDmK$HX45R@nvD3k-97=Vs( zrZY^ydLM}s2Q5KY$A@^)N}a@20ZtP5II(dZt6*|0N&<$EYR;Qb^HQ8%^J5#y9!wH= zS6l*yaaUFfMxe%vK(L0)M5qR9_Q@%y124gh`a%r2sS0Vk3fAH*TUY5!>Tg(VpUHm@ zi#_I=>n3|7 ztjZg*NETMLnN!A`EfJkmlE%a&djemNzWOca0!<5I~eUzP!D8n435}eSNzzcumu<@G0M} z`O^IgbPv)+KY#$}^B%~Ohn#QUPw^(*?HMWhJ;**pf52fNUxB@0$zT4bLG!(UR`Qan zq^w7mMO+){@T}TAzwj;pQ6Kq-%Et?Z%hBJW=fAryY981S*qllZc*D3a2tlL-_^sCa zI!WR{72GRxzn$KyZ*LNksq-;EPg+daKAjw_73@Z)6ICMQ#e4}QwJFHNf7qHbddrTn zP^$&_}%l7g3vVii^T^~ecCF%F8@8gBrZ(DUT-S2Anh;&`A_doLn*|inFMYrSw z8!=H{j+vQ|Y)na+$Qg;5E5cd0YJKIgPe;~X2~8LEkAJgk_c?;6L=PS+MB^D2MfajoNZ)dG<#n2DJ z0}jaf33>{QhQb6!9ODTJ#9k3xs(RQIWfjsBdU%$Q+X&L3kVvkRaAn4l$BXT%itrcn z6O;Qh1}y&h^nfRnfG;g#nL4P1NcQSKc z%jT}JqzPQh72J&zy_=<=XDENfRXpGmF{RK7U7YaR-G*X+skv?}v-J-1_OZgfX$FMc zsG=A>JIt|VEz)e)q$f`3%M}g9s+Nu$h@fd&J1ZqA8wolIpA_PZ{5nZvEL$V_$o6!O zS9p~Ho#OsIxp69`G>wjmNtEa(S1Nj$hwf*cKKy&}V)G{wyqujMK9@T-7{UbHmgl+b zDoZ&AQ$P-{7E$o}9HkvEykO&Sy)aV;1;%!MBoLs>1hn^bsBuc$vN&y?QRH8mVrbRB z5FRx0FvoEHx7{$^zvWW97dKL=TUYV?5~oyeMyMsD zb%;Rk6@B-pw~TKYm=RN7a!cYY@Jz=m9n>(Ex^r(b3{)Iv-WtYr1;qPIrTQaNqmomE z#K!0pG>a4Ue<+%Vn=4cHHxSYTqDD*h@*M^H(dVMe0^39*24jeKc~G2yFhdK20mW{Y zq8_z*$IAqVw|RZ@zKDRN)^8mjm2)3wK;`_?%>RDneE*!C*m2x1Y$e?#bfiSPl4`A} zxs+WOMmwT+=NIw5nqn^L+>&!)*R4zN{{y7lecuYYy;ZH(*1`@rO4l3R*d&o~KYqpj z)qzuWk^#;mo{l{~pb3eD!JKoP3+#6dHG_FV^?5qJ``CJhVGdv%hJyIs>ePp?dC+fu zN?3&e9TFT%R{$VLA&891v!qYgU_DC0r3j>3CMd(Scq|U{vS#X z@t@LtSoLDG$u>b7q8EB>pQw+R^D#?T_R?0k38$Lj{FQ?5f6!JMPesk=fBa2CqL-@v zAR*;v16#67teotly|co-WCXa#$c5%}mA#@kchz>&;pNGJxW5c4Qhx4+ij-#dHd;#? z9O>(AG9zLqJ7qYJ>H4UIul5UCNPd*ST`#Ik`O`XOJJs#Ab93r1xt!|k#hhJ^GG24M zLihj$@S!UW;D^eO45Gw&szoQ?uCTEH5LF|oh-XmiwTp3Yo0_(KxMvG zOOot7p>5(}mR9{o{^P(&gDXcG0GHOnX(nD5+D`^OU|HBaq*ZUmLlou5T}E0%F0p|E zlXimP(b_@@xWRZ1ltZD)VTQ@?CEEZVy&uxPnnAiOl)jszhU3dH9jXFv=Bd|y(~sRI330H zGYJ9}-xrik1{6h8>53fx2KAMxmesMWgmTA{sky)eiP(}?G(fx_+K?uPkt2g0|JZ%i z=jS<;5H(>%<*|`~@O6u*y0hC?-`0-pRdOjs@0}0sM)xWN^U8FoUa(fm29=VwzCiV3 z;u~-&jI@FQLeE1tc54A*?`J@~(lSE|u*~OgBdcrEkgH?Xlu(gq9L_+X9PfN^TVG%q z9Zst)F-H6HDR3ksgGnU|O5O{(l*zS%cA=CaMzCm$QBu&%Go9+ zxMOb$mP9IyFw2%AEg}W%;dsW?NO_BtlEOM|C2fS+#NmYSN5xIjLK8>31%^Iqg=9Rk z1fxAQ7g@}5fe&YPINv-cyEyzd8H9s4Ib9|JA44pQyoO59as>>&P+{$XM1gee9}4@w zW&05KTm*}Rj88T0$7Q)8yIr&f)LHkk1nX`yIGxIC49)*i(F+!Qz~+mAT3+2!Ob4sQ zRPLvtE@1O+1-#hk@MNpm~xu;hzZ#k7=} z2KBx{q@^cp$5aQ~D2e6B)C)F^qFsP}o9+8$-WN9kObBnM80*cJ5s+p>@A3x|o|^FA zV#2SO#+;o!u6QJy;h5rXI=gpygM}5xbcx*A2s4y%77{I`9-ZSm57>gXRGXy3sn2zf zYT`SEE~!O+(2^{T=|*&+AJxEBh+j^;ib9O}Z+!yUY7q+CQjIe@su43?@HVqaEsWVx zjRx$hK;S#63)2BRsb`D#tU>TYB)qRxEuN0ou^8JgMMt7J%8q8}6#Ef(v1Io_8(Mcs zrmY*97{<=~cc@ylfS&q0_i^p%giGvYU-9hWI@B!tkfTCn!=i8*XT#z;j?is+yEZ>| zR8Fo~np5^ivj(BaND4bwo(n;ng)5NEXM`gv24dM-$Q4qjD<&J{=5o$liv^>|bcd`l z0$y4FxwB+0?xB{wg9RyB4GOcKW&i?Xv2j@b18DB+@tj#b?i?94a6w!P|yV2i5e^K^CISedhsI2NihO zL3S@Q9T|9)RDee(i4)mDR*#^KoLXovb58}zO?pi6E*gX_ATsK&d*t{zWi4!s# zbO!iTLj>eBco!IO-M(J3WC-l(#E)Se>HvPpR!`1-43tPR4aHSB(ax%bBAZQY2}ZI5 ze^_E6W}^6cYK>MDN3sJGu*>$0EXmEZFR>7jw@z^e#5o`j%=spG)BpyAJHtY^w}u-i zfB`C8dc9vIhB{<1U6M%=t|c6pEF^=`euZiY`lqs?zY?tjB!S4AeB40;nQ!1Jh4;Bc z4miW%Gu3mbF*4PogCjguvbvRoI5+;;lbZ9Y>33aaZv6l0B(i(E63;Anln^2PIw`4V z+bJtkBMTFvpy&>g9@F}eY5uWsSnd4r1fL>Z(^<5p`&FcC7}yF0&xana-H;72<9tUO zGc5*Qza0p718>*JB}Cd_^{5WUj8?XSUO0F#Q=p&Mby7CWKTEj>l)V{A&-;=737gsh z;KBZH!lrU(YyLH*Z||LO#l7t_)FY&(!sq?VVh!P5+Q*c0FNLz#Ao@4g$C51{y&e1w z&tKlX`uJNbH`e#Fg1Zpfo;SZ=f_}wXh|GTG2Lz({LW;B3dvP{6nA~bWb2fk^?vKGl zJ*Cdbv}Y>bQPbUA#vKk;!6 zyo}0w@8*2l6@Bvq%>Ot6sV1_@v9W{i|Mc_GhIj(Sg&}u!?)nt;{u-^=?(_OPlUIeH zt7&^;kl}Jydu~pnR`^yQ;MX)O0K_O^0l{B>w8%9>{L!!{R{D2 z2#?5yxS|mBL!>x&TC-JuI(nmi9@(+fuJ7O1jg}+2uWp_VKMBqva`_e&aHGNWi)K{eSJ%l9 z0a7*xsG@(E3f3*aQDcrVZ_esYPiZ|altIl;Som&cvTM+?aK#1e`K9} z1kmRu9QuU1{4OT!+pYJS{-6cbTsvl`!+GqPOqJ)xOhPMw{W>vJS?cmy$2v`c#U*| z3h|dEu`hZ-PjPvjs>oB{gHKEE<$p^Ln zG0Vn`I#My=^!uHD_dMz+67Badb8Jyv-PKcf;IKzyM!cmfJf-Xo z!3KLE7GgIGVx4Qiy(!epIM~Bt9eG3S9#~f-xX~Wm?W7GLL71{Q_X5XiM`_sF=Htc&G zL9F=>$Gd8tS1(sLm_C}D54#(mx8l{0tuN?3lP?(Oiw)&4m*@0RSP&7U?Qf?F5)KAM5+)sV1Hbqw9L?3R3u;D z(O_PO%~28;Vey82!)QSdzSe(;;i%b2L)tkHpo#8CG~u7rtNZ?-#Cq~S=mNFDT7o%B0D zLH@F6w>$etaeFN0->Y8HrWSg%#yuNHVG7w4i_=Wr3E5M2@d`X&3QKC8;k(<#E`-z0ofLwd)0bKW` zP!jz-VP{iWe|_<-q6e;;0tdb;UKi!dJM*!VfCM_J^y0Ni;&Hn^vqQo+Y4soHq>l4= zNdh`9X+}1a7kc1-gcKdRm3!1Sm1SEi?ltfiv=^1ndH}%7OM!fWJgA9Ko?aCH{ZGeE z?KJtSpU0DAjUN%Z!kM2a+KcNvqAforhe7tCt-bnyp0`jHSk{=PZ5^)#Og12dC=!_9D1}I0u zoAzbtfwxTgckIq-78g3myOHM$JlgHUJ; zy-)k+wYlEQp5)Hi$<4vlxV)c_fYkcGjcqm6-;5N^ld=iPg39Ou6*@ zXl6ozl7XbiV}K^ESjZLd4QIhqdg2Gl#3Vk*pwvh@{Jc-Ks-&q`BrX1HLTdHkSF~SN z{LLL3nA|5M$j)RcHJ~S9xz^Xf%{amA8F$n%%W%zbL%-O}4Y#;BbXydw58kiUWRCoG zw+F`vf1pJBQzT9}4}>KDC<%~-sJ1|bhc-xsMW}e|L|=AV$@;@ro<&DJMW4*CW{FAI zaP@RpXWvRkU9-Msh?vun|A|?(HCTh1It5)2#I7XfG+pXo`WH8{)cS}`6Yol4ak4~b z8C>Xh`7Em>lA&f1p`w5wV8}yiJUD=cVZQSZl9x3po4GM_0GU{=Cw?KC7KJiu4(%JK z3rv%h<16U_u3z`Fs89sEel>Xxs_%2#@Jo_`-br{quNUZlMuFefx*>d`V?vcb+Fn-T zxOU)$$-l0B`Lf*CgZ_Vv%Kz^$z5jnODsTVP^8597D&QTUy(06)Hd+5ovYFh5e6}q- zuB6^gZP_U2A5djjz0k&)e2cBQ@2g4x0Nf<<(HqGnPI>t{aiga;-WMr z7qit@$3Q1woWJ>e`2C9J_o%&b9}Ewco6}Ld49|0h?~~5x_sXa8f*U|sSDRY63WhYO z2YH7C!VdP27XM4IueKQShE<57GPZwgK@t5GE^P_u7<3|q`FScsI(#@NNIa zgbagXB~dOa2I%?;KVQuPDrKW_4e~Z)Z`<*V2CKnv>>igTH``rJz?FWb^GG~qLVL|h z4rC?O2MqadYrrsze)bnu2dw%)TS@PEQWU2}M^5>C^dHK&H zS@`thk*vDo>GO2!sqcI5-*+&gO!CN#Y3GwYugBpLgSQE9*_}-oZFHhqR|9-VE|7|B z1})VQT+TL?EcNnfX}KbP5~2f)CLT&}wA=AgWqbOypOHKmek3%~=By+tw`0r7k|X+M zym-wwlpd@tBPoZp?j1xU44WZx`5{UnO2MqPZzU~s~Z+Tm&RNqgj z_txC4G1Yb;csf-(Dm?40<{3m3y zA}M{3ctaGkIBJNI!9yW`Q~PaWtU7@x;ACRWyZPu^^6hvupy9D~K@889^$~Xt5|UNFNZ2;6YABmy(<+%`8Dq zg}&K0nvc<^s6*%X!i(i*_9G@!F@d<|j58_fFKvO7$R>v4j9ELHc8UpGp%rG@4WPgv z0Oshh$k5rSz8``^^M^S#z!@MxL_6;|;}-4mz$`XrbdB2o?&QJqy>}A9LqX$Tx{imXvcm>7&&&aD zK4&_niA_S0(OPcCuuH|R2$HA~ZPQjQC>Mz*HAq`!r}sN6jFr5^u$YPL3`Lbssn;Q= zilW~YkeCrxj#FqC-l0q760Qzy*8F;IGi9Z*yquJ#I;}joaUiW!>Chp8^vO?3k4g=m zuRpr1>q(90Wxe*lxTi7cqrrF=gHXU|+2UdR_lFG12^{$?Qh~;W4d=^|mD-Eh94Zfo-QIt4})48Q`*V~_Y($bsu`f{MYgy-7}kmekiAt_G;n8Y2B zp!_ZKb@|WK<{{CXH6j4c@Hiuc5A*dkbwT>z8(Soo!qmJcc0WFvvxMY0No>rok~U*B z=W@$2I@%OTkWa(7w=5FCp{POoWTd(ZQ$!wsAGbAJS>RANhVriNT$d zM{_nIBv0~`q&)fN8fO%X)=wDJP8f7XNCRDfh3-t6E9q-x;`v1!ZrTJ%nM4aES0ABa zMvrB^+L+waG_zTy5{!l;2TpaAi1Y4lG1f9uBA(3p zp4T$Lzae=O>5CC2feH;}iM5YQ2wjd!qxl+;b zbYn$8-7&zR%v@2Zz%HPMB7}8eJb*>b$ZTjb(bEHkV>lyL3J!2(*!5!m$jH5;f$jQV zZUc$~WG|#9ruKBghdE22ddTUZwV>V@=?FfDO-H@(ptj*IAIKp(w7h{Hfvv#bc+Ds9 zj#1Cj1PAB?@@4uB=io9!bm`l~b_oILgm&|mK#s7}L2V(uG1gJqdp}l1xW>eJG~kS^ zM5G69Ck0p5t;w@or$lOH8dIfG430|`_RW3y+a+#U$3 zmbtqFuXJCQL0FTL&dSqMQUx@zf~F@5B=m*nvOCQ^yJ<)ZM^=+}fHILKPQ57`VEtqp331Q&v7i7Am44 zoyM1q{R{x@_zzEs(_fyF>;18NXX`WN6-A24?8}fh>qZ4L7C|FQg@SgnZY#nT?awH) z8_)O2V6EJ>UztO0wOLALt}g|XlJer&TC(L9C>_3Hv42Cc_?GT~lV8BV`ooCjDiog6 z{Oj*C6S?g7tIPi+lUEVQhxV}%DN$>KYJ9YS5Hzi^hx^}xF%_uE;TU%Ih2%*vY3xD5 z557;d4NSRN$rIq_@D5nxj87cd!0R~!1V&ZXQvylT4Q>)5_(3E<`{XV&lOh2zRR!G#400=(XRpl7JI`x-kbKC1I4h_=! zeb*=-fEgVm8;0b;31CJ?iwBs|=h&|LV{#nO;y=vjdNwyNA7*rLCCJ`)4Ls4$-@>N$ zzPMgh?KlJ?MMool>((P7;g;keAbu7#Ll0C!K~6S+r@A1r{^VPdU<#`}VFR)B>8Ddn zHAf$_jy>LerPd?sBHi*A7N%X7A4Y*E_qX0a_Zmte5K~o1KN!~x>jsg2Bp?MC%$^4s z#6=>3d4+P*2_&8tLycW)@|L=ouG)#vVQjOC+`wu7t8yvfhN%J;z{p$n#tC(M|)_+3&&dY*zK$E%1`z&b~eN z-s!sx5wb~``@|D#BQqrP8`&nMT;$g{GhDd5V#H7t#D*4O@%3Iy3$Q+1U@z zrxL9Hg7_G5hYAJoJv2)`_#XNft^2(sl>W*J^`{C0VL*c=su8^slqJIA^I z^oE~pl#rp~c(-<7-%(-*XDiWxr+mIm=k8#D|0jvk6$pDD#q z*rpzrq}~V@6nPfzk9&jYQuUv~c=arQe=4x*q{RLW zlN$mHP?Gt)=QSAi)^D9JcwzOEc}!UoiF55uFl#8IoiL9bMEe1ZUZx9f^(7Jlxz$^{ zZX=DOdSfD5E;}8FI#WHsoYyX4)uG5ht)HwG)T`Xlk@Tww^C&WgRNx;l2U3m&C=#A| z5E5R_w=a#bu^tZSK|j4fPGf|csJjy+1yt0e-9=i^luQZb_cX7nfoF-6`f`{TzRMTX z>3fqCadpor{%{{-Cfvcs0eFa*`=JH9mMuRMdO+3(YB&zV{ADIOow@(Ttz?ldXB^Kq zhRq7s#{cAhu85!bj{+!?1Bi@7b^S;Bv;0T;%MtL95DJ8vhbTA)={-MqqyMW3Ige+x zESW^XQxwGUn4Z-DGmH_Tc9qlQD2KO}xDpCE6iS|E;NRXW$$*o)C=&R5e*buxVqLX# zf6~JZzO{Cj?-ix+=r!y~9kE$}G=}3@hbl$L?#IzD*CzxbBAjdPJPe>HicFJw{IhPp z`xL(Iyzi5Jo(=PTuYt3QlG?9*q6;+>~|3B%4QRnSlgaAD!Z?&lkV zXy6K!ttLA(TEG90@H`l~R>MBm0_SeqoZr|Y{))Z86c zsh7(aH0$_;P^;JQkq>8)I>j%+)09v&Rm8?kylI)!&DcXQXvaT_p&;uQcM40`(z(5ZfCQ%TB~Yq$dPM_#e!8W7aU4wn*!7Qwr9Ot z<%sig^?K;*uK%V4P5G9eh1j!Vx6>J_XDp~ts&T^JuW{myXw0<(5`D~7wIPc4wgN^f zq$LVQcaJfh!K{e$ORNp9dfxyRePvKF?n4RJj`zHiZu_*K6)g^yA=H$rG-~Z4!oda=r_7Gzg9&UCuL_N0xe@}I&jqGah_9zd2JrXoY5d6 zxxVLHQ#AgGgikW~?6{3PjR{r5!VO6^qu=GSwah(p?`btl2^|~RSGOW(%MbuZo%tfO zVoO0u+pAhFOe+g&fE9+cAFWlBuH~MBbsz>f*j`S%NUQ^9KSK~se0fbS>%+lM+~Q}t z4=2>H6{pkCb_>Zuu{{-#QqpA1M$cdI_+oA!`yp>W689LO}>=d0#{| zYBdRag9$AmYlCzIf3jeDaY9P@XdAeAieNmwSNio1mA+J9h!VQEv7EpvK}pv62Djnp zw}e9Kc-3SVVB!j9L@(h>_}p)63PGer`Z@lW1%Ev4BS{+V$F_rOZk&AR5o96(b7Es0 z&-5Z)8XyBcEac+|Xd>5SICUZckx;@f%y>xW^g^x(z%CzPSKx+3jvxZ2`ipP&q1oi;Qn2=HgRYL>*7AC}k zQUu`bfJb--qf#38WTfR7V>{9kV?NT7aH(;^LsZ%-m|5DMS`N2^$xw!ziy@;Xhbc!g z_6dVwQV9oG2TVgS-R$dlLe<#FZzr0p0x6@>A!kKg$Pa{n?1ZzkQYbDTu({bE4Rh5^ z8)hL2a7VpFyW4Zd)dX_QUSOVdF=aG1AsftuL4|N3I_s_QO?d=z5nSS*@J>AgOPDL> z)pNy7uYp9`zT|m3!?%z~ZVtGSioveIk6S@pfj%L(fIk^F0X-SAfj$BMg4zW6#i%uA z!O}vFQ?#ZhYlI|XH4>~&${g^8L5U@nJw9{aH+V@#=}}@DNr`3uG9eRdok_q-Y>b{& z*9t-b=@mf%h_Wu9-;0uQ&0fYC5~`E%XgT6VH4Jpwj?eNFlch+ElTPEfKf9)0Cy8XX z9LlY}JD|A`AXrf$mc$f1-xobCuB>vOkW3pnyL6j{flu-ae8Pw_I${!6?f!N-txfo~(&wq|P8ODzc5f{MQWX&33q!ilX$X&9U?Jqg71pnCwd;ZfOoVel zyrT`m0QW(-Y(836QVdg> z$X#q;!D7%D25gkBxtH4t*(QPCW395kHEgNV1Jc_s5j*bw!2(&F|G@%X8T=v5`QX@4 z^@Riaeowm3PqR*jzVsghXmgkJe`s^_Q8NuOl3~u&+xB4xwC@ZZp!aZWPWqcb%KR55 zVjBKvX>D|WbpcGSk*-!Vtp%Zm4T{)n9jvHFfhUiK%wyowsb+s?FLmwST#qWjX?8>Xr*xrVI zTlU3y~RC4Hq>9?mlzK zZeJeoms!Eu_@SP>W|LEy{TX&mkJ;6(?SIFrkVfQO9&xaFPzz6U=GWo#dSOfwYK%Zq zb|3Q+>5C{=KPFSj>1lJ#v8}`r%1*i+Td}Z)cyOhF)+zJk?2uIj_D@-!09zz%r9f2jh>VR*P#c)K2S?EEmJr=9}1 zzfXmA=Z*E}`%!`Brz4G5qV39JBvc2_Vxjwy1C(Kk2M2uA{$+59c`d`Vqi}d2p%q~gOG2OgU)%Dabz(1OL|mf!ANc}U+Bma_=GcE(pC(~7 zv}9O}aJmA9MUfN4NkF+dIR9mU+1I6=WL}y@6jAYIQ>!L*gdadOT87m%?ggfQgv%e`WTM= zb{nJbUX-maH)lts95+?8=|-}O`hDzC^Wh@k2fa`p6wtnWsDc4YLqvQZJc3Terfq)K zwEAmyalnglnVcZCkfBl!5{coI8^u8${Iys3s%L=nnDLNtsE8JMxNXmKUZOViT(LOq zp9zE$^l$B7&wEm&&bZZ1(16n32gxjg6=>d(9cq3)BG%@d;WbqY1^_ebY>8baxSHL| z`%_bFv&emwjXP)8W{H^5l38#-Q-$B?t3ytog)9zYZK8fMQ9K{vlwHfn1g_{jDBY+ETCi?oUY9Rq;?fg4@r!U(YGr!GI>)@UG8vk$XBmL_e1g^vECyy!in? z*3s~H;OtEA9Jxx^PRMeJrhib*jmuQmChdS5Ihf)|SHU_MN zh4*X}NbA~JlFfhSGPFP9MVmVz(?ZY9FsG6nESQ|wu*3l~V1_k+VP@I-A5wn-?6X^Y zaq<9sXxX?}k1`?R%7L&bZ+FL&N!M_*VN8HMeE5`}eIB=`W$I!;yYBUrt3N_yJ2mfpluxA-u?LTt5EP}5XM%9 zBIL)?7(CqT0thQaN6zOOgx)`7v}yzcDgX}cY3loT>Zh2B4gNg&(iA^Gm?VR1El1 zU$PwZlHQ#u=b**ROqT#6BJ=>0y#P|maVg{? zl|RZ%hW@XH>YdH6Jq(YKyifo5f3d&(@&C$X-|x?!`#dijyU?PG)84j)8SU2DcdK-A z1<##Yj^}CkM?quU9tT8O%5X&8dFxJ*xOsZZ>YK0U7BDKm##{%J4HVdbr zA~rTxp6Z(NFnL*!t|>Y8)+F~lZ<$cq^oH)qA9*u;^v%t}T!e;`vV+n-6%(BamDXP#s5pe$ZIZO#lUI{`C+q?pOf|6mDOD1TJ0> zvyXIo-llFsMW(PyDdh)g@GUpndD=Qs9;$hTWPv#wTk(hdl#4#!Gt+{wVGb}{b zw4(@IW>R9t#d`ymTU|JaJKdn73!ekp_Ut`({s@MuI6su$|x|%w_!@lHr_8c=o*kDPo9wkXJ<%AXljQcvpw{ zn1G2H6UoP3&aLELxxYk+m!I6@To_79y#~#=Dz`a48+-bqm@ymOgBYmDs8loIkws2_#BYd?3df9OA^r5NuRn9DXE~s%Po8Nf1aZ8 zjek8wrFmAJZW_KC&5KUvRQGQ*SV1eWhkd<%vTRd~{xX7NUryU8XiE2xYHr z@Hxlj86fld{5}(P1FzI9+0UU1N#TW#|G*fU&;Nrlq*|#Ol1k%YXK~M#?VbjvfpsAV z&8ddSTc7hEXP}!p0{-^=`dvoo_oF=))J#}|`3o>5X!5uOL^3oW#C?K#9C3&$GSK%V zJplmN6*C~*AWAB0r{u-!O)^w@&AJ0hXWuJ7R^Y*x1+RT)L=lcSXsck};r($$QyxE3 zsr;|xK2VdlB}yz_yS6yp<9?YtC&ucb8BPPT5$u4JZ?8~l#J9Q{5p^hJ`U6tIDNrn{EumCvN?|X;wRh1Tj?w|7NU9IXrvg94etfH5ev>%zVD^+bZ z4=!L)PA4%*%7ADJw3+=`Cx0PtvCy1HU^P z>`H?;%KbRf`@P%tniHuK=m1e@QAhA+V)R^7{5M?T#RO`g#y2N09O`cAHHEr@6Ki47 zUHR=3@sVTEjsxO?ec{kb?_3y$X@u_xgr@HnfuM3S6go133-y$NKQ)#Rnjc~nGl*8l>J zRboi@BrRj}o2i*kMCx$gP35fV)e6N{R~}Sh;Ux(n_1z~zDH$q4YV~lKpU92^Qi|0r z`bVX4NJ?53Mt%1}zDT!%H!tUo{a`3V!zM5UfHlceQ;!} z>4^AH1+dV4FR&1kC74i19uu+@?dir;GIJQcT!FUaAlx%Ko0nZWFUIqB<}O8t|3By_j>viPc3qNK7?(8?$nOhQY9Eo zm1%aP>I@F=A(hhc&b%~Wg`{`jk4huM^Y!CR*Is7GhRCC?inZgPo0i}Az?s}Y!xgUZ zXW*&Hv-RY_yOt>sruOGKc zAV^`ay9-?Qw!wm7>sQ^ZD-0}ZuCtK&0>fMqpv2uYL9tCqX+;>GNj7oB3#5EK?SC7_ zc?dK|L};ovN2FJ>!WWQaRpAW!wF+_=L6SY{RMc@id&o}U_Hh>mnsSSq;GS2xQ9Smb zuKa{$sPg*>+m}1{s>R^7NcIM&0K&>^NO&E=qALkG?<%~vAFH}tK)RfyT$qWtF!j*E zig$g;95=&bnWtH-E>R-WXs1d>{7m`lQy{=tGZE-f zkW6obSCE{a{9(E|L+OK)I%8fz25d((NsW8?a5sKBUT1xuDEniM%h9@b+Gpa)tx%~e z*B5vj=$fYaVr81)BX7)a_?)S5DXv($hyKV(`)a-Eh1}U!-Pik#sV#1Ul4fJ&87ExA#f%mSjg}7 z_j^Kfy|>jPd{SFzq7!L(Cy*qW6=^3R#$W}Zl@ou!D)$T|vePWi26N?+!b{Teny@gK zu&}vJBay)nkug3?CbHW4Y|cSi zRf;@qH098|uE6S;aJERQ(^`$GMXB;cOI~QjrYV#{&0>OtJ!sx>#a%G7W)2bs84r&R zh~ebiQ>UdN)6%O`O^zU=2{};8QkN!Y!!}2*5x^PNl2L|SmWin?4TqElQzHx~zo#~! zbVy$}E6R+MgAXTnQ>fm?Cwxg-M@u@s%TK?#uct0$ZI`@VQqhZKhSg@2x3%V|&KB4b zXcnv&$!a6~YCq11QEo?Jo=FOBd5)x<`=jh38u~l;8ro8GYfSVS!FTQru%+fkrt)(I zRE5=e{h;Rp)&dO_@b7dd9zA?;63iFqRMU zf$5;1ZK}G%yT53$N-O)eN53~zA~joAEJ<=&00BO~*a%ZSHP|0_&%tws4K6E^4K2mY zoQDLb1)YN zciDEAyX>k{{XFwO=gj*~#Kgoze#orMh>WP6dtdk3>%P|YbChRy;%(0gRtQBreX;gt z>grG?ERg$OuI5|s};)Zt%8?%Emn5(s~I%ngAsn>bT2!j?G=qM&mrczB$27lAtSEBa)3Y}BAiqvnhJVKu8&h)!+@>qBxm6#u6-6Nwz4GAWh5$=dBm@fY z1NQict&F;UH=`hnbt$0oAm@5J{bm~uI-X?y3evw9AJkG^S?EJ^Qu3?`Mgc!d)k%Bb zm`>jgiFIWb%n0=~IT?n`^n7V8npn+7X8Lb9@MG#7NOaV7Kb#^u-YRi~)vSZe6 zKgoc81`=R6wOLkF=|mF)HZ>8jgv9)fvC9o?JN)rtTL3#--xioFt8hk#@(jd{h#sETBf5t5= z_x|M$T>&(s$waEmt8s%G&$qE|8PiwnVHsjHm@3PsGaB zE1PopU-?AFVL&e?xpJ1A0IgnIa?u;?J(ur?Kxs(gQZ>(VQVjlx**1rHpOV-7Ii#~noJA8G#DPHl?*}-4(`u6P5t%xZ6 zCA6v^U8v@|+kFz~@^kDnd_(`fN0P&Ko1U#eN)fY`6a06X0~a7OpL`cHk8AY`BL zK}uB6Gz!gIMeAG~ zHwhR70!S;UJ8=TUO;M>#$|TSpX$QSn1~%xyAybD5_TPnP>`v*v_I#?tK%P1a)NOj3 z==c9ea+TUD`k6w^4@PB%csP!8^R|&dgM_*vC$7&QH~nu=Y{%Bn20zff-c{%6g?c1h3ScMEjD3SgW^k=5ia($~Xb9o3r ze%GI%`MtvhaAm`FpZ8^iI|B9Gdqr}rq#>!WjPMo=w~M>(mh2lO<;E%U4VlqN!U-_( zuh~{e;^}__OxJ_s1scW(291&}RUH4;cd-IX{M6s6$<(f?Yd3LNs!vq!D~yrpTg4}C zF&;lk1;e>RSzT*6(#uw>AuNh$TOqUdwvk_oA{DNr4*}JBD5j&FusiL}8Ea`6sbm?j zL^YX=^IBn*Z8zDHrtB5yaZ7c-Xy7Fo(s|E3GTOyt1Dj^)vwSV2D~yl}3*`5V(T2S! z^%8Nd5;5J_!X^0-od`zch>*Cvvk$#N_p7#32$R$)n6qRGL5kM+XG2}K?$Tk zHIBcglMXVW1P7^A4rx*WD+cg+SrC5%!r z+Es)RvMkR-c7-vFa7!L!2%#LS1M?^?_nHif0GOtUWD1j(Q7rnPUR%t~-bc1alqIbk z`;e(kdJ4V%bK>(Rm4_t?UWY=f^B%?v&!t9A*Y1iuGJ!~GzWvBDZAF@m7vc-g z?thH+78GfzhdLt(I&}J$DOjDlUNlGjfKc!Now{$rI>z~=uHBOBY1)LVp_28vl9+Ci zkyNIW@QrdHY2ZwaJ7D_F=cs*f`rzLV_0CIxRlS^aATRDr$1o+>;M|kOFm(NFV0FF4 zo^FlHKo*WA0BrG%Y2$%#%-`NzRmFtE$_r_#@|37kTQ{;7uAH`>~h1kpi)P3dGHAVAmo`5^%F z&6yw|WPA(K?sz4K5)tGCxgkGCRo?K!$q93uE!h3t=S`}J|KQw^2y&k`6hYn;@niq} z2*n2MrfB>?f<3=yqtE2hn*mD(PduYSi56jnPE00)##R-}b^>&{5>03)((wQ}8(CD| zq1!cYUlZ22e@os$mWtNeA%DLkS8$jGuZ+EnU5yJpG*I5bxjhmZb>#zvs^+FlMSC~c z(^g0*n@LUsB`>e!7e#T3)V6XYPg(!(rnmsgQXQ#cBmo&*%QIS7aMSB7pnof6nJuZ4 zvT`f7#0cheuJi9#+^NW>6GUZ+W>u0qp*l>#8Jra86si0|^0c%>dD^cs0`2#?m1?vj zqYcQ)vb7;F1;Ddt0z|j7Xk+eNxm^gV;UVK-+{Hjt0Wz4=+EM?@0uSYetdWvz^0eM6 z0!BDnkyM}-Z~Rc%(=k_&?9rg^6y<25-<5W%r#EXAC973eN<(A#&UstD28Rfc3Xba6 z-2cJZ`ofki8B`N95WBRcqoCZsP*9dZ{Zo__B60TrbC2lzAht>F+v@OE_oRv_(0I02 zen)>z;g&69nL9|nW|Z;^Vl9*a`ztUygd2=yC;+Ml+Gh9;MP!)gF;+38T)r!KB8nNl zhz9ZjfniN#4$%4*Go+eUn0=qaPc_p#!53_~C8>OFQNQHKiJ$&wOzww!gHXVG!^|Cr z6+l}yux%mU*T1#Epze?>Q#!pN*x3%8m4!G%_tmT`TEHRq!NEW0Z{>F6^WP$%`F~dg zqyzcg1=#vR%{=WNlfQCoE>GV3(7ItOR0x)R#l@IHm|ap%P47_dQLF25umDN z3u6A$+%Vt+Jy(k3SYu6~t&v%LeF5;gPyK@EUIWg0)A{Zvy={HaZVDh*{J;5WxSWT6 zBckjKJsOZDKb4ZDErYGf%S^*97)w@m*Zwwn^umojahMi-2bSsqNWeImLAy;j#;JIl z<{)LH2jumSr)0r&du_@?RzDOxe+$X>1VXj{$UfvJf9X6WB)=irz)*#uAkK?>m&!ws zhoCTy6nt0THgu?3iV|++y!;uYP1j9o5_i8wOf0HYiZma%T|RfU_}nCsGDa8&P&8!?;jbgUSOS^40p`0s;y*s=ovfM`4O_C04dyD@m#7y0xiKo& zr*gWo`o^xN-*pQMBeaKvEm-%&@OPStB}3#g6p7M7YQkPh^N?2W@A{aDulv0|o(j5y z9W5_6FMns#yN5XnM{SLsOqXn4+xLY%TVb@*J2sQ_jfKQR6QhgLMs4bH(L3tptYNk% zw4Ggxbvn5~AEx@m0P}LfYIE4?Ew)3k?*fB+8~2A}mihg6;Y5Oa{{45sk(jDbrcSyB z#Gko8a9?D;%Ztrrw;OjAmVYgQV3hBY@MKe2wa#P5WP_m}l_Ro5wS3(0Lhfm5JDvCYD$3GGv^c&wlL=x?!`Ms@ zKUtcPi_0bap9(xKyBh{f(6!~eC>48&&nCroLS564b$xU)iLZHV^AmXIm~YGmtHEib zqxungPd(qL@qPKc;-9V&Ad1gCW(sqQM2>)IOWU4qV5ifxm8((m3f!{L{dh;jhow3iQW zaEs=sStuhdQlTq=H-WK7PIPUq%3U7hGt#~P_EA$l_RthG(S4JMuKlf{jH^=*Q3K<% z!rdfY889A=V-7(F$zdKoq%nrLrNp8t+eZc5bC_jrsfsd%X>r6T4Zi?$UI&n8MN8;n z5@*p3R3nv@lH^^jF|urLdC|}U=CL9CxN>3}-Ow6zXm?H`Z39!ej$4s)|cu+N>nQxb`uwsyScEMybF#lHjavf_M% zO17-oK<)Btb?CC6|M0lD*N0L7<;7 zLOm{qQ%*y5S-%_NptvF11~i2s=w*2zt$n{L`ImZ6{#aT?L+G&;+*X%1DC(dgJx|)_ z!{vwxHQP0^dRg%d<{Rz;%PU3Vg$bX6TQn~aRozzluzR3Qu&brU@7G!J;`Ps>t61-| zAh?9vu+NepySHegN6@Uu8nl*;sVG~llwn4k z4>y-_ZF$JvYmZ**z4Ixo=>Tv8V(^^3H(15xu$p0$ak7F1pn?_`32cCOr{C1*jcn2V zYBJ38weJTk5%1o&qgE&%E7>E?iRH7JFUb;@V*zz{+E{}Xy;n4 z1|-)h>nk9SxuJDHLx3VcZqG2{U{PbzxMY4+px+SA!m5EBoqsGGZ!9!5BGjmj$VlOK z)LufCRlK{phWe3eV%Dk~k)nKb!tk%jr6o6ElGV*esohQEB2b6+)Sz8aGx$%@5C#Dn z>iyD=W8)u?aT*66%L_3lX74_J`Ar4!T{!dxkp+=i@wQ}Kyi|wvVwvr5cW1M+@)~=0 zR!Z$EfpeKyp*$}#=60x3@A0&roMWFkF;;$Q_>8iGw$g)gSpz5`l<2>SWmCEZ9b;Ibv5)g}{ls}f@>7*@bE%wsY0?n*3)m09(Gow{1HeN)tL zpy8{@QZZJ(ES#a5T?2A+?XQwBSdro|$2Q$B;$I%@d?xe47NyfdHSo_+OnG2UmRtX@ zd2T*iw*I(YzTX_!82-Bh#se&(pZ~{>img%MxnfZ|o@xq(m@CAp3`3I&Nojaq)j&FQ zUeh7t$0*sSQ@6Kwm8`=%-&1E8pK5I8s9WsLr<+<$>f6#s3k6jPo!gdZde>C$>tj-* zJ2{@g(qtMe6X?pqzll;Ct>`!;O+*+sZLU8&5rGne1xTGoJ_Dr;thc)bFEKN|hKxmj zv++aNVWt=6=;w69nww>ujbDK?W<_ID3l}!047g|!G^|;Kw_7cg$x&WRjE3F1`aRj; z0{IIsjKEDEf<;EO8-kvdI0-mR3Yw`krTB=8aQ?$wsOa~&kw(QtTZ}F|xKqH3Z#gNl z(MA|}$bsE53-B{L*|Oj^|AC%yDWt_YM?|;27=1hiA+-0hrecXV=f9Z=q3}{?vR-t5 zEHY`QebutZ0M-a&=La(;Z)#=fFQz{hF0h>GpAQ2FztSiJ$T+N&p{P>+hwU4b8rVsK z5u3e%W47J7HL7Rlo3DjuIF4F=3F)W|TXl8ydd)d8-%(p9IsNyh)~6L%0bke$;Xz<= zG^zaW6Sx9?h(}l%d;#xg3Bm*9l$5M2YXNWgtMPDL_^Z37(Bi1;MfmHV0^a{hYFIip zz=iqfV(mT|wbwk#g7{64cR-2=hzsHj)JvQfSp?l&tPnatt2E^u!8|ikA(m3e;|KA%>IOltz|HFzcmpzcIU3{&#S}bf`QV} zp_7hX6{F|T_k6|*I*q3j8o2+{1hz2fdO^>F^iv8caFSkBKgwMQ!@dRV zNciQdL6mSbVja&a@2xiN#<>+Mg`B~zqkt_?9Jf!>*s`PoqmdF{s>Gl4s`iBA05nb4 ztAxr-!u?x;)OiasrP&`&<0`=o=FM52F%1YLk?#gs{Mc|IPUaO96*E5z^1WV@xaXK~ zYlYlxcM{}hiuj~l{<}Ji*QTaPA%b*Cru|FT_t`ifs>2mzD5DZU2+OOkvVxq=UtQzk!2*&N{H% zPZ`}FeqBdT^bKxy+uoGdL~KFHVfd}1nLN&^_A9Br=U2PDy6nE|1ZVGE@#*2(c$mF@ znZWd9Z36~Y&?tz3Vw|S*c>`dCX?^-2!~G0D?$=HyE{WZG)f%5ZXot3Nw`I&We`k@; zw4~}a2OjIOm&6a7P1GB&^N~;zx6l>1Zl8Zj%bD>mZNca@+gta2<-cj}vf255Mk*fQ z$N|ijXD!e?(uE-n6){$*?puOC4T5nUVOQY@EsgOXVU?)%@VoC~rJfZ9$zFW&2JB>7 zhWAf`Md9Rr+jtyY{GmZ3n04Cqq=hbELK7>gjO5tB&k}?luCux-fJNw9ht(W9Ed%x(nY_3+&WM26Itx z!XJY%w&i{tdw*^1F_{&zB$FN#f_0eyH*qf$gl`V%-QynKYh9|LYOz>3rbZi0$lfMQ z^o9<}^XsVg$6H9b zPBcp8rXxeWmb+?X`t(4n`o%@^DhfSwbQr2bas}uLX*))!lR%qC;SQ4R_So@p^d56{ zq*;Bo&_Xu|NN2WIOzP4ysLjc4ZpcuZVRmczTN^x_J>Pfkx;MMi;{}7;0G$C9X zozVB+Iq*Y(h~SG_LhT|#2;djIT@s6#<>A1`{V$1LTj9W*8-h4-2;ldX<^H2l2SCTtAo{oJ^Xzl{+I=|hK!hCxE)a9=c#n%tNuUXNS73Q$j%vs< zv_eSABaq^OM37L>kt;yd)avSU=+mr1eK=0608TK+>UlJ2Mj%d8UuaVd+v55$FZgLj zEBZ0@vZ6e&(?!csRY#a$>!=jW80P(8`gt7KQ>nQIc{id!z|&uS{GIl|u!ax}!5CmU z48!#0aZ!%QvZO)UVRhx@QmA;{tN%b#LZ~7*qxe#jF;GX4iYla9J-_$)g>?QMSo5}> zRh%MP_vK-Sl1)i_2m>FSX1_noZ!Re7q5c^<;f!#<`5{CA`|jEAFB{0frmAsad8|7)~SiOvS`tfO0V2{=K-q0vO1N9SX?=@2_utZ7`|ON; zWs~l_F<9128}|5VdpGQLD9Xd81E_;Geqwf#L}ezY3n|C4MMzeWjtETrja2~t-GSwP z^>GuCWAV*|oxGy^9?L0tKHZ5NjN9q-K^RyE7&Pp6oY4^A5}fYfQJPajC;4(~m@UZu@96hkou2)CM5e4nogUe>;FVAt$sF_5KO|&6tK<>8i6#ng8aB?Y3 z`jYQ*-__f4{Y>`Lv!oOqXx+?IWG;P^8q?@tw$;bjwBy7y=Vf)b(0(3tB2zUGAl>~kEr>r)!Jj#~up21=;B#Ctgjrpy6M#_%vbq}-_USByhoo@NoO*$SU|}}CaM;%R zBMAVmdIArJhv~ai(yD1y)n*up%^?nAGgYHA^LZkmIR+PpLo{O~&U^c;B(#WDCqL^Fs`6LG?GUMo z82ql>x{Ncj;Bc~V-8Q$fPOBxT_Upr4>QQD%D}qEsUZ za7iGy-+lW{$cWqeAajkg?}6B!*W9I~`Z>F|J;S+c9Klq!o!};lf?{AzWyZwf`Sokq z@V4fY$pISZ)mwN8C{3FwC}G6`&2^(OJ=R~{WIZT6eJBBx^S)#ZBD(4?hfUOHm-y2F z>PgL=m%Ufrk5KX}9%fokF|pY@Uao%W#Xp`ETpH6lh>Q%98g`GVVG_|2szOZG0~s(4 z6}Wk}fExaA0K1(p1sya6y_jhs@ujd&577<_MZY7EqVi-&}A$3V}n{n#MCs(;i$_y82Vt>$h_r@|w5ZSzH`Q zi(+0zy}Fg05^xu>D`G*h_AFk_8`XDcjSYO`#SWuifo+>x16kaYaVl^ zo}RnblHRh<59jtUvX_(}sk4{~N1OzOZnF;Kc(_tdr)S;wEBERUAQ{Qdk@UH2O|7~H zA2hSYc5Hp~cr;^Kd|*W39XPKs7ItFC+B>rOQ4;!z=-}kCv$o&IFx1GYRI`4Y;E&Ih zjBJWB@dJ@UyIH8nz}>{QqVs#CGG|&GK8^S2@=KFO%6D?89q<+7ReN$vJ{$`@v8PZG zUBw14J?+a=Y`2MaA>N1{Ko-yKM}tRLd>$Ql?{@9^Ef)hc^4O~P3X#{RtzhDAL?_P84;QTjZBB3`%z@r6*}_I6@i@<}E=3Oha+fATY<~!TYP`1O7zk&8&NB-H~py$j?b(Ls@I%E1{*_aVnKU z-OxyoN}5rA9*iU%!vZA!`v(VT2#X~|KBU0GuM6v30eH0krl`CflbgU`arM1zm@c^b zH*$NjBiIv|Uh!uQ9|6Nj|7rFIMjrCU#VAiJ90n&dZ~h%=+VS$8NxrUDb0lKYl2$sw z?!=#(wr0tsc7hUP&X#b;Cdj2!oDQ~#Fw}XJiQhF9pt9|s%|btkDJ)vcAh_;!UyM_Z zn26dLj<)I1cBkO>c|Ac67qx%+OVX z!)dO|xT#k74tkzIJP3w4g4qI#WU5E{0dNG&h$|B_us)NzvV7_~7lf#0G7P}JGZ+9S z>Y{r6?Q>0rdNe@)vlA=uC3p3bd&)0`_8F+{#2KXOdl{?6g) zaQpJUO9Z|~{^_cV?^bQK(^aYrJ+bD04S>PL!USn#&K#XwVQ`KmWkNj9T5=Z3M64Nd zK;J|W*JW#y<=L(JAVk_70I=jCW?E+R6cW_ML|UQ!+QNBga?3<&9PU!3>G7i3YhdNI z6UU`opZ8M)0=zkI`tcAcc?$Ca(n12aVpHMBR__R}v$)l*V1BQV?Q*Xv-R8+=Yx`yE zmCr6a>+AJluU79}k8K>??RlrVR>yFoGe9f{jMf9ZX$elyC}7wO?*ZII=mN0Duth_G zy7g`8;O=;sxAIrB)w+DLhf7_u<>tm&boO+b>-;DGsi?<`H*hgALiW!Yn=}bf6eH-d zFzJ!y84RciHWbVORU8*)9cM-RB&lo+3YpYI44mGU0XNDvassXxvpaS0Wm<^AT?Tr$ zu0g~MPE;i}l%qG-9CFLF+@8T6%R~Td@)lDR)dSJRsz8gqfXGXy0x}%@+&W53SHgf8 zeld8?9-C1LS*)dfZ>}MV{jzY35Om-T0F1Gw7uhV1SZS5T?$doc5*hnvo92yVxAVc& z?1Rcd-v`Rpx^l2hk<#B`$xJ=fp59+6wjJB<9L;QaBe0LA4?dGo=YB2D*CkXN%X-{X zXWpPCc+%a=Oi|@euKWH1vDbFjtzT}6bla5gb3(#K`Oyc3p$KrHyUbDUt==RC0uiVw zb^SvyGKPgKyW^Ph>q)YR!9m&rHP4L}toh7E+RZNU65R1LWI5Mw4f`H*US?VGi%lC? z4@5xq2qBON;)=aq3k-KyMqA6vXPl3YcRoinHdzr$5{4f*!wjDM-oz8l;**i_qq3%B zw#ufM4VHw32OtzC4QbRt4r@&D?F=%3-|HRH0s`RKZT!kWBDQUHD$XO}u%PC&5iRZ> zJ=>Sqh4RMD00paiu?wC;-9&D*!{EOe6$gbX`2*flnBA!Jlh5v9o?(kg#gM zer3=4b@fT&h0we`3O%i=mqf!<&)I@&3hkUKYZj7%OA~X_rl7>>_>^3>)#InPux5ZV z+Uy4nPRudckdiN$a>fi#=jzPeof+)=nx}13cz$%C4!La@iMS6FZXaUQGXB{vRAJ#5 ziez{i%QE~9*t}KM6#94JpsHRth`3$}YI|YJ^_~RH((C^HMF0W$KrW*mPL~{EPQflY ztVqV4>`%5M|T?)V~-3ujILaRl7?dmIY)wc@EQ^ zfk$x*D^hZUh1T5lTLV47L2LIXyOgGTh)S=u>Xnt-NI|doTIgyQe1ZCkD`>YSLCgX! z{?pN*=YUh4Uz8Vf(KO;Zy-Us1qDKLK2XU>Rw9jF)Y|o;ZtR`+M?2mKH>MG6UU~-MG zw!_3KKj$jyrM+1`Fy8Ukup^0Oz7Extea~F{?(_Pys+6YmlTR8gZL7<6D1v4cGiKBK z4zr7Ptbp?l6xHdy*pZtEU9yV zg5{d)Jvejnyml{CKq0EHR)eP9OjvUn`PFqb{AaItc~-sEtnS8vf=8JzhQT17&;SQM z`Tz&IP5fsCsw&>MDEQg)r`5D<_#Pw|F#rb~!vPFDOaKKjBI(h*{P5`i`5J@~qNrhG zBLy@9Zmh^}#N?(H2*eXGIK)#5pdffXmC+mp|MOxlM@{{6k});!5?Jo4dKFd#D1;tY zy6wimV4LfX)sdIYlSI3|5PS#7-s7LWqL8}|57qN8(f;Nd?I(dO98T#Q6GJ}_^)B1) z7NVV7dh_nbdY{Ha`B-%oNAtG{QOeb?S*y_K4|s{yFZpQxcpOU>#pF0Xc9lK}SnXt} z)zWf*Br1Lfjj&@J;xd3T0ASQVvl|VCihwbV6rfsuNXq;nTPHGOny7#5H^uJzF<*FW zT(_mW+&q+}KAnSO&P+E~;*=G+C+IOuFe5mjYkPy5Fp_K#eo0)t#NMzg!C_~JJydIk zi4CKkw@lzB>(SXWQOoxF87MfkM)zz2{XSi^^qzC2J->ewc><9$EK=0%HT~0dBBGr! zK*~>m_;DpOI%RbsNhibL=$oh5QO#d`SgWY}wcQ%+NflbIXD{yDiHn0&eVr8a+T)gF znO}>1hM{z>Qd0~X7wZZg=jRa$&9 zCU8iDQNS~aEYAg06C?}oSirr*yr-_zZ&AYcAjgD?XLzb+@6T z^A1!5{a22!9j!)h_Z#jxS~dFwW}cSz_I!wRuwnUcR1q5JCd2$BNKQ~uD$zoM&Yo;m z()zzFuUl)5p>HZp+G`*QV}uKvUoSMqPBajRDflm5{q8}}CuZiT2Rx8q^q^wj6TX$n z(b3y_iqDyktG(EzgX0^W>=U}58*hb2b?d%-?^btpv_Gd$v)QsGAR6tRVb>df?PIO1 z>;*T-#T6NIsZIR^>jz;!W&fHM(?oVUa_(_`xpga5STe1WJMwJT+p?4ME8AvQPeF~X zeyqHv8wX&ia=N5v4Hett!fh|4PlTb|kfs>NWGe%Tz>xrQn0iV2ok z2@AZJb7`gp36qkfJOdnjmv47u+wbZF)b|Gq-R`0Ab_e}TA8y3gJnW{Fw2F&%eBHh5 zc5M}XfBNi>h)0_>oCO_*q<2Mt9kbmMgiL7!tWDJt4p2cz0ZHdBi(V2nn1eQJAwW~p(p}V+eN#+;3Hd|RLs3P9NfQ|5}qoAJOz`(w3OJ2FEOo6L@=z+lf z9DIdPaOw#Qr0R~EDbDUODww)2&h#7I0>i&xioBw0($$`0vP~C#Gi^gqp{@UoJLCBp z0|Pk;9shIDftW7_M+`9Npvc!v?-kqWVX{J&Cu39?gU~JXZDi}(s9wW3fQ?ok!pj5# zEmG=AyKy0~XM3~h6Hbqf0MZ4cgJ+3gW}%x@d>T4dI1biQk03*JDujvy^2_N1k1LVW~1uAN0^1tj+C01MRvPw7PjDy1?%l5>S0ZqsTOD0K8Qv$ipSb zR7?aJ)kX5rzZf+Ss0cLJ4K*A|IU2Bh9vxbT&@>ZkatZ-ZmoKW1)y z^?W!V`t$9=nJ6=kcwO_guNPJod9Mh+Oxt@u3Mnd-V0+lX+Rfi1oDzP&_`EO_VBvXv zJWoyFY9nPe4x3&aW1{<#`DPBnV%TcL<~iTkJLfj*8NIHCWZm`pdLMe}otyX8fAFbkTTe(+xcQQUdK|N zd9zrxVsyQxCLj8G23*`v`C6o6J6UYg z`2gsD6}KRVY+2FkC*9s|HsPO;cJ>ryK8H;=h|l{3hWx|GLGrRfS2#FgNFas)Ig78w z3ArF!bdVG?BtkNXUSS*>S>)u>b3oX;=i#>2*cU0nAWXm%f$Z$Y%PJ7|d7F>V;d6#u zdJ!CSxY-=IV4%#tCgwFsNZ3bmvP{nVQLCtRkoQeAeOhX@)J9UxbXFSHB3b}z^Cydu zQ_}&qN93E1N%N^Adatd{;vFrq ztUw=luOHa4p(`V}qGE2miuY`OWGJnsYIWP$a#uV{8&pG!8N#}8ku3oP=5E0!BvT4I zcnUAo2d+P3CUTJ3ujy16BCn~o+3G!#tUy7+T-{wH?&}^pwjXS}J>5APFaCjuv((!m zN!(erdA`20URLfSQS|>97k_Agf_@oZdpjOpn-c$`nto?ymH-CVADT_jxOaaAfO&TS z7T>rm!~n76_{O7=@`(#)6W8#EmSoMX^zu%ucT0y2y(Uo48&5(BP4!A6mDP5O1x_n` zd2_;gl3;b*@F`ud&x1zD>u5~8(hGaKM^xKtOpG(0YeO9kcqhiH>^X@z5czXb-ok4@ z?yeiHU3(XbU3-+rWWGc5?-t8?d9O!g8muAfUHDp3Pg*pH zdtq88T&se$_y`DHkL6MjzIIyHRG1u`qo#j}pSWV#CTo@a&U6XUf<*c+VSu6~03d=F zF#a^!U=n}^J3SybxPU0H6>Km4`Z*DufM2MZyn$1XAdeP~2}j(7^HUOpIlkt-X_gw1 z-O2JNKw-rj&3oz`G9q$O%vpv%bFs>K*yd;EHd+nb_jX#JpSw6-`P%FeH5JQA2VcpM z#=o8)Hoh^GI<|I`z~8Y0MK|hc^6^uiWLCCg{>S&)e>~C>WYRvE5x6qAIGN#>)4=I7_o3bnRrpHtNcUZo{Iu zs=r?#J$+0hPyzDTbAj=&;29i~YRD9k$43AU7pjf!@zb^$>hWVA8|kO4nPMoFlSZZ@ z4o!o4r0elrOWM2v(xuD^NUk+xW&X+Zj=)SVM-p@uSGa_&y17Ec5Zv*5-(7piu>%L2 zRuA$>>{(jSyCE>g7G!A-?4ITR0p@{49gErrmHJYAzDwIuJG3VIdI|-G4Z}8Ihi<{% zX}jfJkfL>YP1MyJcC_jMlxFPtW7j?H{@KnZJXB2 zj1=T1l5mVv*OoE`qM)2&Vs$7%N*Tz4JOL=b2~{dz-<31AXX~Axyqo$(CQkpyVBHGJ zkf;FAP|1@(jo|{P)$P0bQXQfe|8u38@vznlD(gFjwyBe%0`}q=arJXFCwGjzKU%zz zdYC-_bs~-+;PwEAB#o~p;ta=sCwWNYPrM`T|IF);E?~^vPeXLNI8OlJpp@E z3$3I*(Cgq{oS)_4kJQc&OOHQ8-|;lQZdsgBaCV^EKTn>rx={b6+?-GLg=#>}jXpdW zO2{xs7)Y1T7C=aHCQ_wH+_aALFMTb1Q_@@_+}+HD=ChHMAeHfXc#~S+I_<1NBRIJ= z(|*XAM~P2s z%FqJBf}s}$!kR*a1+qJ{a-$?z46l7u#lKN88D)}^_P^_Y5yh3u(6E1Z+#Fs1DAt(n zS^wNAcwRyO8rITvxieg^euT54wH;5dDo+PBGXv1Lu?*G%BUtT&ib23_89ZcF@Aw#Q z?4G})pSj){v$0^&#vx!|CYt^y+F`*aezyK_G{wMITQ;ze*M$Epx{VE1z85A3`7m zuDXR28+#KxmU?FP3?psbCkatnn1U6`ajw=YP$|aDOoZcwW=IX>t8bHW?%NPP#|j~- z;ptUO#T3uH757h_T-QMt8Sq*7u$`_&_#I;4yRr4<)Vhf>yps}JxiRYYw;3L4qb#We$o-xS%@m6Ip0?oB&(`Fh+$R}j z0sJE%`P)QPid7Zk#nF2bUO4(*`Ol1~$*3;Wr~a5;9N|v1o`(cOxNJxUG$ioB*6c0I zsX|&tHz5Y-G*)&gIAU04Jpxq2$pyR3b@g#H5TV$IyjH+yj$i){fbnInW|;%`M?>88s2}qa)HSEB_37rh*8tk3 zq9GRPl3ebcH%gp*6sc8iH|J41As`zIl zX9M7<_GrER)Lxp|D2e?P4?K=jz-<@xC{7i|IY!m0XQ+{gj0+0vaGq<;1oIS|n4OSw zCKYYHnhTvlne9o+fk`vVg4BfvrZLFG!Y~407AB~DU*kWA!IdPVHpT2Cz_CNp>HwGoUWWHKy81up)@>nu~V06 z7Oy3SsEv`2J*5T31kULMfD*@Ne2CT|K2ngLCydibpd2{~$A9Hr?i$F)%$J9}yOV8p z#ZyTe20bzwHdYI_k8qbfV7>E5Z~S1rb7CeBHN>xwA2K8Hx#d}jnhek(0gLv4!~R7Cxv zqU;_+`2nvw`#2K}7+DLZe|v~KiSM6Z7P8z3=BqIH9#WLL_;bn|RVwq$C1oAn=t=!+ zXyUN|p8mRm06bXyu_<7f1+sPtD1C!^?es?K{jnT83)wo8q?(#tn!XM5C_DHi4{ z&H$6;vzPw}#^SJqDcy4ZbQ@9iR2?l`=^`0@vg;q$gHmT-dD>dTXnPFVW9b1jdYsV0 zKwCo1@zTV(e{LhE-$9U05U-w+X%J$>*m)D}xo;Q! z$qvhv0C$PfgK6}~l!O>`vkWhMPpMx*Z-f7NTzo+soqFVP*UEboj75?QnFTJjxn}HvURKv;6+70hG_JV)_(wBHIp^Z!j$vv^YxdRQ?TRA<|Iv(P+i%U#vY>eX zs~OfDF^M6)|9{O0|6gmyY2?3}5%aHRpw|eW|J4k6T+W#PXa=0uznXzJJxp(6h$fFW zT|GH%>ha3=F!uD-Q7hfPv2n12c4Bl|*^4@yx^$Z>QjhHRbTys%fuFe|bhU#%EcaJ1 z9xSrC99n!cx3c6W+@5a8x}>97QszG&r@tNKf(9&2JAdKrA7|gqYerGzJPJt9%ljyy zntA5Pob5L)V$tF6Ec-Lpuk$OZBYkgQjr9gTSSpsp3Jn<=NH%veErig|kRe$J z-Kv|moh>z~b+eezwsUS(EoIw+!?2aFr#=648XOuW`=%@iv6;d0F+Cf*6#>rB%+=fu zs#E&zb5E+)ii5aMW!$i)IX}(pf%}s2>+a+vbD{MfAB$zL$g19H8XMW%AB&Cl7H~RC z-uami2ZYKU7JR;5cYDm&uE>6t&*Vo#_C6|5{D>CVx5% zI__uR=f%%+7FU(De4E@JG4q#H&u5#qS7ccRFY8c+Tmm&$HssfbNA2u%)eB3bHg9*& zSEaIl4qc5~@$^3Trksy9SRg%avwz1OGM(0~=u)0dQ9Eg-J7qBEM`k`{tDMxdOBKAG z(}ayadeYf`QjaFf)TYz-D8Je_R~B4`$=Q8wLJkG<(ZuGi;3@by3=NiIcX;f?OYs6) zaBJ^5w1$XWGCuhW3{d!J4h&0_97#0HV-_OFbkaz~C+MUnC`+hU{aZK!>xdv% zmPlv?xsk{xgGt+zlu}lPsfc?ySh8{+qg&vJ z7B%g0R}8srEadFgT4~k_m^uVKcU4SLj-W-WE;@7iYpMnL*Ho+j8AM2|if92tOm>=D zj#sPBku z$z1Fcayfj`+eXFEsprH|6C(|6CB{Nh@>KxR=e4I497C`=^Y;ScdW$ivSqnTY)k?^Y z!!y(HHtLmP=ZtZb`w4AF)O>19no?am{rD4ox0Umn^rC?`Xn` z)Neyt#Yzsm@B_lq!Uk*mFe}2+`CmgCc6RvL(YGP(Z8rRjV?$6m7GdeGH>3>jA48h( z!>b-a#mToJZOKR*WzM~Gqknrix*T09OS2x?bLffvEz9p7Bb@FinTAMRyN*tq2J1!GI8czy~9IGtCmRL9p0awuZ zGmPf}$0UHHtP`*-VslA2aWW1h*#RgaPdsp7V80mv8X8UYUZk-amVPt~wht$W1I--z z7^5HOt{2oPiVZ2v=o9>Sl_kxniVIUth^d@~*vca`z!ek<7EH4a5X1Zz*xivChIv-nPP|-T}w&=!l7ZlWC7g4j0ve| zNIgjT*?e^lJ<=cf)I-WrwPm(k>?V}P@D@Gzn7~9*(~rG=dnPy@5A$k@3c5&2>@tk?4Ac(9-4d)$~LG5TDKO zFez=zZ!4cq1w^0k`>V}2f0eei)kNXlS9oLTvg$B!5}|#3K>Oo6Z(D?#7L>h)nA=}H z>)b%DTi0&(6z%jMj<^K<6xG9J?R;hCxmAXajg1Ai8)F7&&A+(?-tDL@pV!Enux;2| zYP+_5TWtW9gye1q3(&8>Bx(P?;ok}927D#@|FHGX(XqVG7cd&zwr$&)*tTukII-=V z;KVtxZQDMvZNK^azW2WOpS$*&wWe!L_w>xukE(X<`Zv_K32#AB^mXU2qfQ;KBXMJ0 zSB4L0N;O0#c^Z;^iunX5r-L@rqsNdKSO=Xl}^cntwS4j;yPu^$gE=Z;2k)inE0 z&6e+4-%EF_I^8DmoZVtj3i=6oA#-h8*CMW6&@nHIeX&{n3$xg0f9632(x!) z2oR(h1ut0xK_R&aN9}@KyrlkJ7{tN?9Yegmwc2?)+8YUFU~zMeq$|KrOU-J;0Z&Vv zg~;rl<5oL5Me{^v{#45@9dTEM>$z0lNq+}@`1qe-10qDgXU*m3SA@n02ak9+<>Xd- zRsknWcn9(mEM{ze&&!6J53_6*$+oR7Xv=oDSH3lZYaRjU*Z;BS_*w)!@zR(~8^9s# z`F=vnkg-JGrR1Znsre1-YD>7`6bN5dy(94Kbw3kk6QWv^2I$%Zi5Z($Z8iw(0O5aos}{xDo>`J0Y%|gjOhvRuCXrIlfnNM$pNn7C+`Oo0B`^ ziCw?S{=0Q&$01Ll*$)@dUf|>57#ex^$TV`eYPL2-;uoLZaM5JeWSKtj3dH57?#v|g zjaeq?I7ZS1VUlXxhB2O_a-8j({#2=)ysYWK6CI^|8GVNr#&FtPSi0~G6JSy;J6q!K z>+hqikVrUB(9XvIqh`Gz#T?%#`{fi(^O&Ir{;tp}b+IJnn%#BaRoDYGZRGrSO z@v;*05catDv{9^qkp$HpMboO~2=&}cNO;&LI;dXaf3pM#xW3-^-5T?C`3B3iN)g~e z!9uZ&ip2YAsdr=Sc$q01+dj@4{0)K>DPts7Hqx2zgZloBPZ8K8=0t|uyHLMq)84mR zDj*>$;~WnyNcF3($)EKZL1P!JsFe5YKnlqgg%kf~W{u9(ZE<1K4@DpUmosyCZ*1r0 zoAU?(jE+`jV71&kV#^pOq&eEpMMY`yW!fFz&+yrufE4mXJDN-HDM{x4A-(`O8csx*SFm=D`_Js(y*#- z_EcH_g)T-rKY8(f~cs~ zDuY5d#^2T~3w$kb5A3V@p7UtObo^{6?hYDcvtR19*@`&S<7bTqx>3P3WHdunK0!ci)l-_#f={PkjCFlh>wS)A+pnFbMSimY46`d-EM6eY_>_hdOsuuWN07 zta)uTPkmnz$pGbIIQF4D}ZltQxHY)!d?W< zEn@BOtafPyDEIT7cnzWwPKldJF)%=Qd>M1|CU5wuP}xfi_Si@2AU|QG$b=0G#3TD3 z4cE*&0}Ef-Wx6+QAIn)>eRFl#=_jROV(Q|e9*1wI6-QX9y`{*N!_@IN@V!?!sVTR< zl6PP{eFU4XGseumbI2(=s#^ZdYZowj!wHB-YiuamVA1f{o3K z;y+uuXN{GsnT0U5`OzO%VxwD#9qH#{};LSBwb_lE?Ar5v}7AwX`l}8>o(S| zEa02mZSRK|f%@aKI2d6Y;z#1JYq9uv`_kST67_0FITEXAyVFK0o_R)gFp%f!Y7Bj& zg3o7GV4Qn9q^-yfzKPOstimA%CaT?e`TFg&>)etay`OO`SJcx)FtyU4OHp76B90?u@a-`=5tJ zM_?{=wWh2+8we}v7jDxZVe><68!?OEj!OAVZi5^~dZ7yZOY>jk9|fiVQw=__$jKX> zj(|z~-eEeiRFY^?2?1oYf9?Exv1=Bn!{NDZe4%b8;S4~?ewq7=<1r$xXdv=7x4>+RH7xq> zw8n0IznPdA7frvO$COVpQDpSuH1khF+xXz#p(bOC zJ_o`{>$f6p&j0d?%5I;F4%;3h)!i1G6*Ly|D^9mh1mRf&8OCwBX9Vpja5YDqMCrFM zFfx0~(;OE6HPyOk9aTr7B4d@Wid?Ry6wF6*3Vw@GTT19INUh&)6b)Wi^2{w=5Nwd9EXPM*UrKHqdM`&Qvwe{FEAN*@@M*2xoFBFSvPVlp2mH55Tw5-Ln6Y zRH`U-wr(`MB_Up+{|-CnM+w`~yrb?O?^PiWA9zr1Jm-G`IjZ(9GIW*W?)LpuejwNV zYn41nX3laspRs=s9qns4(0vq1fyRo&)LLF1V{ABQG^c{$=TPI&*mgWQ&NymhwMP_= zjSW5i3?^v5+aGR3JY!M0<+i4h&1IDp(CjqTwtI(PZ{VmfitJWrn(?dK_LJ#M9dk30 zGQ5MV)&|^dOlSq}2t%APxV4UbdzakZ|6a2y$rdJB%~CI2-@Zrie26AdEuobgUB54` z!2Wl(O3@4X5!H!42)Cg43SGXCE0p`TAzq8lLC9?PNKA(}^30*TC?02Qvi5zy=II>| zhV|L9A9I?IoHb+XM!E5cy8igwiNp=ccA@)T=^c?4gRtO#ZEV}*A}EtBRDjL zv1$#>WuG*$b&H4@vLbo&9)^ul1 zSARcU2K+`*F7v*drfJ}CWC6qgl*#({XTF4;g4^N73LMVeC^)VqLRkqd^AY-D?UOdrul)+hYGbxj< zEK0%ZbG&6nN}2`mAY3SH5Za)0oA$m(Qs8vKBL($Dc?G&56T|r@bpr>b;9MRa0WGZ6@mMG zQ$(nLVNytaf2&auF+#I#)NActwSZ`%#XoZ_t}zTKE6P@*XfD5y@nW}VNMTDYq4w|I z&UZ*_lYr{={Xe<#HFNzy^-~I2Opi@G~q@w=iAO5hbow+`wU;_1g8>T@q~n z;!&~~zBA=20<%ad?jQi7Q^cb5V60-5_FPfYwLeGs$kDk2fgJXK;!I*QJsuAu3dibD z*p>Sb_=QMHkkh@xZ@}ULuBr$DkG5cGj7kk-Z3Lcqq~P!j1u-)`k1UsyNIMp%WmuW@ zh~A0;v;u+@-k)4|TLaF8=cyc8LS88g^;kQ{xBc1 z1Qql3be`BqTcVi6xM?LUA0U`fb4g#$dh8O331Zji#^6~yh=L6Qf)m7XO4B?mVf<;A zX6WgN#7sR+4*8FteksY@u7n}K0Eu)347DGnasgzP(YfjP8pgnNjr+{eJCpw>U!pvS z4IBh{2DvxsuGS|7Co8<4tH7Kq1qaAl>^H|IJvju*=#}&&`H&(`=4gSEy8k~E(Uq~Q z=9=2ZWYdH0z(}*)xYYM?pU-^`0aMyLd}VOVHJB?eHO`ILR0)%{Rm7-N>lfM zeEe~>ZI%7_9+rjwD{FkXe|!I4QeuW_a&W^YU?i{xyly*(B2$`+mE{Y9J#&md@6H+a zy{*VVqNKvV3{vH97tLd0#>ewSN$k}9)Nz~8SUGBtpXxV8|yM3SY+6fFIR0~J=6(lkoM~4 z99^N6xXZCLmvi-X;H~zwE(KQJ;P|N$EFb<`A)%4-+i^5VvijjkC2NymFsj4(4 zB>U2VcR*}km8D|QObwYJTN(3B)p0nEiia??p@v}k(n0Yg8au@(X2I~H8bpi_Tw@ut zU(uOaAe7%CmBQ=G@aciFz}8ZXxQKb?oz&?s_&ST!yUZvALKT7Bz^mKK7^b&XzeM0G2R=$JNw0sFP~uFSGBcrDHIs+AILXLsumTGOA*vdCUpS5D5o>9>@M_-hGzm~P(4tXYa5 z_Nh(OCV~-SGcU2slG~K6-uI>S$_FjfOV(MzcQYNEBtQv$Dj?n9np8cqO3|caS%IM= zh8c0iez&~xWn-j4p$KK`sJ->V;o|1akCg2`6roiAUtnD&03Wk;h5s+OjEa`Bty1KTK*xS#yaatB*VmZf>c?E1#BJFuL+~+IXxXGN7#Ru z-3FsuWGCx7H9s7L=YU03acwMX9-$Z1uBF5Z*Y3$u_O>(gqZ&rF zttnc(4V;!U(Gj`GwIp{nk_eHnTx@r|D0`>WbHtv&Oa7?l0&yBRrI7_JzoTtVxta3x zi&+G0OUSgZuSnH!om)p`CX5y0<>{{?$*>(AYCDlQ6Nl9tH;*|Q3`T*w25?sg%6n4` z9+Az2uHJ`W&$`WomW8xyIS@yc@VEH_ggEWxNO{>!Sb{}%6B6kUWuXq=`c>o{DK(xl z=%eaFZNe->01^DOtsHCY68uNnlhdK2sv3Si1!GNyb;KCBc~8coB7YAVFLh-+VCOO< zKAf1nt)sE^ZYEztwsQKpK6iMBBcmkA1d`+m>R1GZAUv{%)1B4XnG zqT!fYaEV>y(P~g4M2j3PQ;=U-6%NjxG0Qo?v#c78>U*UgYvbjD=A6sSm=gatgg%qON3eMx2Zng9PNOK5gX>ZuMJKq+hSK3S#b6?}2>60ab zt+$heOO-Vdv=jOJ6p?Z#3ZkHXZ{A=%_8FB`k;Pn{hKHcQ7y`2VJfjmia&2--4r$)e z-CCUp7}@}8orou?@kxxrm34YRsrQ+HjE3=@5GHiBDj9fDIz0gY|NBUoakl(A3CIPw zhM-$?{r#C&v_J12|9W4)hW4j`&076AW+(#toYUSk**TqqNqmJ$%LaypzVAzku^=RUb-&MxUawsQDybp{DuBhc`)xGQ~Sv z|GJKyu}&EL{VlnhL-4OgQ^ksMo$vP7^Lu;*6!oKS^_jO^gR-ZNbffikVb)H8Qt1an z$v3waT+$c4B&y&9+vG#jX})1u^O@%+Q^T$|%u+jSj-FHO{pzGF!Hsc);kMMuWCxLq zL_X_Ms22wNm<9=CGG5e7l}Z?&=QAyGD}w(LI-}&4{8zC4*c{l^FY$p(OVJdz%Qp zuV6|^%}Sm^Yu<}q)Ve5yhPe(BX|xi zz(J&vc5Z?y7O{+ebolK4mWVM&Axi9ql^rp82Au$AUS2j!B*~6t6V^SjLwWf3v+wYm z3Z?PAloY$=9Fg3#=Of8HS~1jkQceioewbuOh01YLUWcE&lzsls+^Y1{!HeaPbb8wH zKaC_+P6Zy}7eV|DWYz@1^XI1~F1bX-e?9R>pGUF3hgVtd#>h?|{VmVQ{6e)e`uzx! zcncHNR7=B}+mGnL$ms*U^fquQqOyEJ37J$8TS)dd>#pageKGH`{eq zm3+_uTBb%IJu8P=yaR259HF&FL57z|(LfI@s%ETuY=B(t66~`86f{i09bkVn)gj9q%8pmP**@K-ZhaaKP6Y zMYnbMqE4DZ`dX=@RBdhMVrg2z?eT=TRZ^6qpBH<|IK_zX@|t$A$#S(!5Y4|V%9qUB zZHwgK9um44ICZ;~7=A(T+k*#J2&tJD(Ui!C(Y{7P7{6@8?IPyKnC<)G7Ap+Cxm)H3 zJ;NghAm76(1!%dA>)c4TTR3GYwTKV8`sH39oF}U)KF>;;){$fiN*fpc@vlyeme<*w zSnI+ru{`?1bITN`jD5ouZbQLsu+ znn%zUrn>zrCS?Ps-_hbm6qsZyVbtgopOYpCPGIoiZVTj#PC^;yBvh(ECgJMlqrw=MgKerb}?}* z_E{~g4M<0AFl&(ivWLCi%2$m*WEn-l6WLNgS9W+sK-$i=0SDtFcI5p%gJvzB=B8b%imQ`$arbdVqG$otJ`9vQ;zDRNP!qnloq5=Idp zLe+u@9+O@B;kyj+Q$>4PW2` zqZlxF7M9?Cjq_ewS%pyJ=)8^y4NKu35RD4okkfgZr8HE@MJ*br^co2@MS}4@6?+Ux zodR&-3sw|J0Z7k$6=b*0U(T5p#0?pa?(L-&GJ?KP9(r-9n8#RT%W@WZ0m(Fmeey|L zWpnIe64Og0Sy%zHU_OgX>12upx_PUd&@3++7X z6yFa_Ln@TUOv*E8Qgz~^h8DEZLqS5(q}S^Jb991nJ)taP;uz0SI&~1j!fiI|0;?gSe-&G4y3H?3|6~OH87whV|5# z&Ik@GD5Msy|AyQ?3`Yzt2k-HtL&>~OPP9t(2syqQH}Z&5G}3tFIXKdjO5mD@gauN` zKWYby9s}xWj#0EFkl@@as_(U!cbjoR7%!XO%c|?tlgF*Y{T)l`{1(1sT|7&NIRIrE zwbRVS#9F=XKE(fCWoRJUy<`NdISrRF)8}Qj_-y2;qzs006!`Z;-p|p`2O`(Nn zQLI3OWh#*WXCSg13kdstNEVFoBMNAZ-hYk$qA3s#i~tY!Th$Na&zZAh);^6_MzLe^ zYI0-fSga$U5~`>>0&N~i19&hU*fEWWyB;1(Hfn_NwNfzuzHm@cN=61FQN_BFUtFE1P!tepDF1IN zVmu!)=z=NO6r|uMMUl~jNR;4b0%<5JVln|yXkc`k%-{j9B?B5usX0P@R!9u z6w-|?)VfbsfK&nkx|rWJchtOmU#~5DwbIAQ9{}^87wB**Qyi|fz@e~MzY$JdP1aXY zwC)bVQ?wzu8E6>mkA8TA7@}6NobkYNcq%n<2KOLXSZvt-wC;?_i(Jfx2vLlNh+pjV z5Vz8HI+|J|SIxIi1437GGoxcp{iSH38kS*)ov)29qZ&RL{Vy7Ss1je`;SrR(xa3g3~@Dg)~L!2=I&MiZr~ppAdkenwRM(g$Us#r3tNaW*JzZNa_Pk4*um;5Apba^Y!ca5ATwL&S+_Z{!~v4kul zDhp0hB)kcqg+Kjws8E4l>@R|n@OG;sayAl>@OH}jh|24OZjnjWPBWIYQ%-ThydN^4 zMWHXsHDL;+WL!oz&C;huK?gJhENxEbK9FaIf^6EbAgfD)&D+059PwyruL!|6w>(NMh-# zSf-nmh+dKeC!LzKiuWB`9>T7;P7-C6U353xV`PjW&LpNHvv%ahU(K~+vPych`xE8r z%^|mlL!=4vav{2KO@?JGW9~s`(U?u*G+M!k!(c|_2_;D(x)r{NLvO-BPKZHg@jBfX zKbW@6+yP6sBf|$iW{d}uRl5#t9vLsV=q{FMD^-=_4Bmluo)twWyX573B`iu#;z-m6 zWtm-$nU?c2#w!BMXtT%R&o`aNnx%ySo`qw+jqK)s{>08^F!@Mf97jF*q=36#-=2 zoe_$vXou)GKqxX$`H2~1TvRBMDsY3k5GW;e53vwPgf;>s;*to)@;R7_=ncLQ2ml-b zVoFE~gT)3TY3J|T^YK#q;s0&drpdP@;Be(Yh!MR}S}M{tJ_m21JoE}gqF71~5!V7w z5z56?@>+*OjgF!B)df!b#ao=}zk7W$AloCmaoFeesq3!Z z*vrdROuYzsjoI-kVLWLKTN))H(EOe^)LgWIvT}{t73p(=ulwcm^>*R@(z@>D{c_@S zYohY4x9kFPjJ$tisjoT!T|RG}IYw_^7Btrcq>RMkwe$1(nUEpseOd?7WSk(z9mtS_phEfxD~k+mMu349nO%9U4BWbO)FhN^JK5c=0@86d1+ zzjy#83K-&FY|#6kXXZ4;i*&_FT*|cNb>nh+M-oSpHkW^Ze}lRzy^;SR^f<=R7?C^+ zje3JG2MRi?W_POz))B%n&HDJEFH`pol4e>?L`xi5AZ(`5=~;1Vo>WPWhfzvG6EK6JE+o4s5OXC=a?j8mi4VVlI3nFO zsD|V0QjBIbG=A!gRWkm@JRAsHDvNQ89Vy1&KTL?!>bPXK80jAHt>H55pUh}+TPndSz zL2h@yRkw>;E2z$W)6h(6T`|%EDI&TYE}pEa0EL|+YqNDK_d^*1n(O>BEwYy@t1BC*@MxP%IKlWRh(1mokR*Wc$LnXByDI5Cz~Ifj zt2Sh&ughJlS{;xtHRqB%Wac6+67lsh;#QM_D;n zhUQ}Oj`6;dgHX-;D6~_UnUL<`pjnU)=ExLm>8Mb5^W;GhsXA-~>8MFYC1rq=6HVU< zcRCufpOqEhfgP(7*^l@wN+6;es+#DHq&eiIatpSw=7jUVfr|Jo$uH)F7T51jn)C9z z|AY;flsbL6uk73dxY9AaUv?oIqB^K6TKRdnGiX{;8KXFilZgVnDvN7N1a0Wsq7CzK zq~IDhH1!`mW9T`SXLtDhi%?WDDl9y#E@11$Si;y`Iaw z7pR=2osAP!lGuWBP@JVlsfkNN|9f-VouE?a8}>h2-G-3-DVvM5o&5*j2V+Ra8O0Ka z$>sYLdrKltHFkUnirbTIwhpW?f83%Md|6B zHLvzY=rT{X*LAO-uU{LNCH05juOCLQ9|kQR(L+xLh)WL7Gj5MXZ!bq~61(?=jM)(X zO?v6;xr=tX9obKs3@cJIfM#rbR>$YouO5Pyb?T}VS{h1^Oe--b8jmwFr7_M6^I8gQXumC= zy0*bF2gh;cPbEAvV8yHi-Qh$H(^}DKVV_322;p_DJS$cy*R&wB&`Bf7eT!n-3Lw=q zN#y6aW#ef zOn=V|s8B>f&s7r`qMyM9Ee`EE)e+S+!0@FPk$@8r|KGUxj~-IZ04GM&KR|nbF&yCwf3oUM2!W z1IGlOxJCm=BD`Jve4EN{nfJBO2>Sjs_o?Xa@WQl^c^Rg6c%51w~2=@9~7N3;6VT zsik_36r%M5_%$pt0WCZKf4tS@;VqiJzO4ZjhG%D|Ms=RAZ!^b-1D8i%PPt^Ha=^#Q z?LYEN{eJ{Ao_U=;0&dR^N35GR`MyV;=2+`~wbeHvT4;#vTUhKa(nv` z2i0jh=;qC)3u{mInA{xRkc0=QzK>&}T1c*?w^8sr=ru#!#}5x~?wHxd6pTf4ws<7! zC}c#&v~XH3x0rVOc6I2`<=r>8UufmJF2GS$t)Q*X!*Sf+QF7{Gc+0=TC$z&cWEwoNk~MU+`Xv?b6*+{$ ze3T77SxBs(f=CmS>X8UkHfh9^vBp8&kqkbz3WRjp7byW(xQ5hd>i_kU{D|7>GN>Jw zHsG+pqbZsJ#i*4_sA0j)D*)WYlLnA;kW`xl)l%2bm4e*Iq9o5yKR||x$t=K9{!}Y# zrcq~PIw}o3Wed2>SD zM=#pGVcMk3gT&P2hHMbg#+6r%_3D}sVU|KL{$->b60TXYJ80xwtGB+xMSJ088ZHRV6A(PKzH}qagw$qscHyg$6kOlx{aAY8xFcCw5-HB0YKf2tq(+#l ziDkfN|JUNXHifS|%Nm%fEC<)P2A!=Mb<-73Oz3K(xc-}72G%syTJ>?~D3cpXHZwkK= z50=62i!n0%|E`FRdZPGqvI^0s{Y8E0(eD90SPY7XNfmhO^$}J==MZimP!5e~2PU(k z?2CfZ*w`vPn02PUrtJPs7vi=MoxmS(bx?=s{8NN&AtJ)G2mV3O{ppJeL`!eM6W*4{ z(W?3|&W8zztx6|+rfV=Q#@_wgh={L1*Fu>GYn%8FSMV>hErbbickFLtVu6-wtqP9# z5zPofuW|DvJ~q0+mPF*^T@|`PMiir5+ddd=j$MnqYnGT#34=D+5EU{Ih~t;ue-ThY zeavgGs0aN5#-K=5V^pCEeN>ZVrx&`v2E}0vw_Pu1wvtUgcwp6-f8YQkf7>5|blWSj_nu z5QDzU7DA+&jl>{*dr&{$lun{q>=$l`+*i2r6WsOGF9Gc%Np=N`hQdImyXz6J<+?UR zrnHdjd#bR?e;ht*!>Mi4_6?!N-7-bwx3e|9RGvMOed-^e@BP7zPu^onAH8GQFCC-= z*cPB4^uD@&{NF$96K7BC;;h~V{jO4rm&P0#YlJ-@rRr516ZC|i#{59?syPg_(Dx#8 z{O8B?v2`k0ZuC3Q4DKSXE=E`uG>y3|ow?UjULw+vZw-IIGs-IPRuxyFA-Mrhw!*Cr zf_8HStyEJ5t@!qFy?X5Pflwj|2%%}j|>&co6}>snM8|KK4>R| z=C={DhV%IQYWnwlH|x@!W$Fkxe7}E67@^75SgOpRmr?#Pk)J7q3DsiHE?V~$wG}U! zjKPsh-LE^n`P-^YO{;ikbeK{iu}7Z5iBl0Bm}VoLA)pQx^=87A9qgqaIF>^eO#VAF zI3(S#$7Qpl$Mf<3x5YF2+@HS9Yp+(6+V!&OO47&uT+&ANVJEYMW5756Db%M?U9&6s zaEmWUkaonBaCc5_!~XVUDx&l4q~q80q5Q4#`Z5nG*ubbO4*fb%T~nj$&H;O~|GycJ zv@xDDWHxUBN#y;`(gJz~d7ZTJI>;5}krHM7dyZ@Uy+fr19qRHwvmk1A^ejOEzsUPM zWToxPSFLWfeM9bcryFMtX-?Z_(rsT<#^ZivxSZJa8O{2lTe$r3eC!Ap z=BYzwemE9+3|UACMAv`SI6B{XwIMBl22|=CpKYut5f4Zy z)A5gtoVH3(Q%prUhM?pyW@)Gq{=-$zzuO7;N~X+m#+@dI!=MmW2&pA5ylisTCy!W$uEh`~5c+R8I|lJbu-# z(C%AN!ZgAyW_g3S6Tf1-zC`;j<)ws&BZtTau%v$?O%Bp#atw4 zJe#J!vPOf;#bmWQRYhd1t4u5RN{;BQSg}Mz#09}FOagtA28;>`aE_!%^KuWCr&~#H z+Jep7lB^K6*PQfbNB^DZQk}X#O366dsYQ`35tR=~fMQ2G@#*C#ITOBY-AknCMoLL*cwJryRVKyAzp6Wfu>_^H!f{iOHpbe zb9Quiu%AZBz}!9*cZ5B+nEO|;)hn}y?j6dtg5hP908e8u zc}o>r);?QJV_<2?gh7~ugxv^iEb172Fo36YGGF3K$9p3;$;x>&Ro@`>?|wvO+^jQj z528%!#y=7ovQjEuFXU4G?5~6{Z~mUouQq0?(apjtB&*05n#9n zSPNo!r@wV$1L*f`2G(sBrozK(PQ$xdKMh7hCg%7DjMG8HZi(|tiH$jFR*Ng*O9VsGQ+s9?iNXX zNWv0Lkw|(&Sz(G|XbIi0K`WUCA+DsGT2GFl70dTQspxZ|DpAY%5qk9d+qAfZazD4kb%{b390UMa6ACa++b|#C)FTy{KK#yc~PrSSS9EqRv z71l5GkwjWueLpor3cEM)BfY-JSi8#rg!Ozs`PXS)enm{G)(=qk8dpmaIg1_e#E-K3 z7MQdJp{W3*fygptcl>|TYBx=jS$LHe_g_)Mhp}p%C#%B-48UcY# z%9K#UB=8Wz;XJH$?g?g|`Hv?+r*sN@xJK8O@IN-UmG~Dr@Qclw?I(g>Rjr(ljjk7Yh8=5}P}(AwngXVwijeNw(Ndcrpkx^f(&{wtT ztkIe@7xRA-Z(BJ|xZJ$n4xf52OOFpBB|eH(YPp*gTMPIt{ol7HRysO{_6!JpMGpLm zdp4hx+r_r||Jz&s#@>^-bnt)wUJq#R-0a@{!clI)M0JSw)CC&b{iA0orEb-bpo}7q z^DAkQX?|AHMYhCjQQv%c7v3Bt^lz!p67&q8WM=yhJG1>Qx?|+XJ@EaprE6+nOLhq1 zP`np`-fRqg6jvVnx7%c0FdObFDjH!)t%@;Z4Z|EYm2N|K9CG^1#<%}BumXreJ!xX8_~n6QHNKM+U2nGc>)?M| z%y&5eQtZKO%%d%JBa#R&b|YFJ$Q%hUASr5t8*z|G3f(6J+<>cZ{XN$zx@PG_Cd|#6 zAN_RkRold2!)7|U?rMU`A6J1@OeseXZzSTt)`Z)f4bxTsKi0cz6K14ee{BucOX}|N zZF2Vc*0(*;$w0mR+NZ0Hhs)#H-rm4n5%1THJ+AZ8P=iMYO4dW@p@I8S*yqGIK8Aly zmd3W-{$NRsC1W*?9*g|DA8rwT8$i`R%CsW3Xj|3gRAH=ym>kZ$xQzS5Eob<~(*?h4 z7yF2XQbYY10oeUGSwc_P7#w^7xKU!9e^>h2g8rYxyplA3zK%&2f_-&(t! z!ydf8uPSl+D|ZUd4(^KALqi7N?!C*_j=7>M@S&Ci=Oo=FptdRj1)Nb3&1;h?n)8LX zDAaE#1pOGErHLMsY*dhvJ*=a5?L={cOF+(FnGF!rO8^ipf0c7~xqq4H0u#v6j;@8L zrZZ7nixq9v6347L0fpU~nJGeLROPOyDe|D16iCU?i|`3N;1#$=ZZw)LBImz?P$xBS z^iBgGJ$xo9qJPQ7rLd zb*CqYvG^l999}()4lD6B1ZO;>6-!Py1RPzZ+BZPPS*X;>^7v|-9)Pm-R<+uuN}P3e z4_i6frPYc+H#KP0Qtb!d?^Bnqb%zFDktr&U{4(qUb3kJcJ%}RfnOK=3D~+O5plccS zT;!9nhraBR=1XZ6-!OcKpTSHC&nm<+1?mqy3O2pdc&u;@~3 z*By#}&ViTapjvyN3!*zNb@QXZnt(Aqgd+E(O|i}3@JPFlPl7jN!^;^3Y(O|>2e-rm zaiTlv2w(O0LYu>p_9w+YyLsxacjz5FCF?DXH7!;@Rhfw8X0JFH6eXc% z>#8~{juGSRV*r;OJdmiC9iWww8M3K5pA1|3-^WSI`;)~)L}2TjiOPtWTA^y9>`NEb zvhbP*_u;fB-7~yi`XevR=uuvO{|32#B6tSn>ro~|^0?Q=dSx@{Q5r;-gLQZ<1;*=< z_g@7N>G|A!DmKlpBL87-9>h~xn)SxxZJZWDP5&+e@60{z)(bdU1UO#}^|qzJ7j0A2 zZ$>Sbqv=Kc5+!a!MYTx6rWRGtru36~_y$Bd;gh}zvPV)~7B$At3nV@_0v9&!G-#m8 z&wASbWcO=}ZI$ScaO}>H{5<5b^Zp)C%M|2DG$~I?>w9NlxYo0dZSr?1QGLq4+0^aoG^ym|r%SUbO5PWumm;;-O0>M> z09i}*P3K)sR7%yvn9|d=(mYjM zBUg9d;Bnqn=uN!B+AWb4@R=o+LC-;uSz(wtKvN%UILsz5H=O zy8@uX-e#GRVIe0MrLAUlvAf!Ynxz?AcG89TC{ezl3XI7kkeKq{R~hZDlG?S!((pw z)h|}njN-cCnqA6Gwju;hn&mo!M(-B&PMRS=>K{qxoc7uagkLZ`Mrdl61`fqKBz&x@5TvvoKASnZn73 zj48U+?{v(GKkBlkz7){8D4B`EIc^Rmm85j`s*pW-SG}rACAzsZdXKFg0sjRWUU`U3 z;wIW~O43fXjVR3IhhEG5>B8=1*Hnu{E*k`K$B2~ zq)2{u3kdjleAlHz_wDv>>-KcNyWZiia$tSmwkoyMv^2F0kJj2LQ=ZwPB!!;)sW|q1 zKxzZV9@hk6FOORhuMA$bbQwsMVwF%;qJ%(dIYBg_XyEG{!`lx$8(FB!j$Y9D~< z2swh+=ZnCQ+sZ{Phvimc@Y<*hZJ-Si>Pnq`l?}gyED)ght;(rjl_@i_fpaDzs@L*F zv`kEEQ*ZEA2CHU?IGEr%>{~nVHV`O(?Uxm=nePfm7M5z%uFu(}#rzhbcq%e`_ls|_ zF|qp3oIX{km;qIwSR+=DsAM~pGX&z3l!riz(xbDn0(esmMx^=$(W0tNV9nY^TCA7z zt>yhC{gy^tMNEL&k0LW*%=`bQo z*N!G$txXJVbEz#mR=b#Uc{AAOd}rO6n4DL6Q`h<99t-AaV{BQ)TMEaXx0PAVV$d_t zd>=Bz4hSBLkQd`HtL!G}4Q75A(7dxIl28>J$#HiDA7vu;L>{9i$sesh)Vq%(I?y0b zWV-o`_eZ6b7$8H?QJ?G<;T!u&-K3oz+)YG87sbb`eeO?30C6BWZra8TxF|a+I&>)K z7RX+RGtcv*2Gy^W=Bwz{kMkj}U`fD@*$&F9crCA(*NcU2lu;K|&e>j~ASdG@$)mN7 z@2!{akqwGGMdf48k^^o~%`a2KM5k#@EDAoHlv;em>t4VLdK9x@e~o05HU}PDn(VQT zLmN_EG}f(h5 zoqRxgF(EheQcD`5fA+X9qh!K~EHi=xXGpC=m>)P?5jPmyi~LQRf? zYr=XeKlo-AjA_~*b48^IT2A&;Ec=skzfwUJRK+D2sjsmw>>LxrT>hus(x)W8;Elqw6`roSF#5F5Ea8w!zfozhMsu=aB#xG8)o}ilB>)wK z#JB81OwW0m<)Ff|5g*0hylBsX^KI#<% zVB8-v+MeiIA3II=6peiU0?5ZEf7| z{(uT|9Vx0wp;H@>BKMGf)B$VsKBIBbyNw#|*Tcon$Vn`$Zzt>W2G&*^y9@+o$qc=t z!U)Z>4ipr8&GH)p{deCT$=i|A18&tmXLft}zU5cq*Xp6*>t$GLQLx(Sj{*YOBqB^X zntf8l64-((NJ8wyG$URVgOi>Ga}#yHm#lJ$|0~jM9gp}pMF}ud?j6=NB)WB&U@a%e zj>=UrB)a()k)~+vv9kaYL{937VC^s|UJr4A7+B;>4HE4nk7oafmP&1x#p>6tI*)1y zt7`Nu{ZVm_6%hp-9IX!2My|xJtG^`vCFd)ji5(2C#SS{ye(#@pgdIPg@1HB2Q>ZhX zm8E9W`-VyzY65Fuq&aAZtcFi(l;;h2*(J%J!t~=$#e|C1h|t%STiF7WQXdPn!-&=h zaSl+0I5mM~%$ZXn##C?_V$3nb*5_RqoIBg6{gh~-Tj?){>J`yGW-`oHyvqq*x+SQ~$l zbFTK_U*g~%Pc+KrUGER}b!CZKkzyOmhBMS%=%hQo4g#j|&i|4W&a<@qwLSGxrs>U; ztcWU)LCtS_%}*AO z#c!oI*To2L6wke@EMFv)-^#u_ei+W!?;j^>E*xYg`bsA8*8w!0;KEh_z|u^7}*=)^hsS2UD-E8k})>*mz)txf+ zP1Z2XxR@`Jwi%8zS(1GcNwyliD5{Kb5!G`5Pp3RRz?{jTnC7GbjONAZC(V7!yZ6iU zSe5i6h-|Vx@pNsx0r9Q1=9J4mgoCVOr+9+weS&)ZXY4M>N0)xCbnV~l*Q{-NHCzR8 z$Zcni8t6(7%#^A)7lO=qL%A~r&W|}oy zy9X!S_;yugzEe9(5~{bSH8Wy1ZG+IGd@>?Umz~PL$04^c=kU>B`~|{dYngE#VlnBS zEF&OAL`0L8&2}nDK$mU`=1|@`4w-z7qK*zY(af+upgk%o4r`gN-cSD%&zF>%#&t5< zZN;5GqeGxKpB$fap2exGa-%Uv@VB|!nN>h?GBZvF&6E)V>o+W^Jf5$HJblzUTBRI~ z@XRpj!Q;ZFp9&wXOj11TMNl)Wyr`Bo_x!du1S^m_N!)U?;t1Uocp*2j;D0v;xP}>) z8-*3z|DuTKEew1{QtYrZ#ofs?675}W5ZWp-AS1;44qIsFWj^XWg;ZASICh<|T5u*< zYt%?$4V1Ucp?rWf;?#vrJi<~)ieQZX=hNXuZ&yZXU+suyxP}k$qS7lej6vaN_$z7)6C}% zo<-|?{T>=$kz^=zQ|BK`=$fU_dnkS5N)mo5{lDA`8nPoYUJi&Ed_+s1lbn7r&=7>U z*}t!E5aa(+udt~9FY4t$90gk|_ZqxOiM?#fqF^8uIVe+fEaL{Lvz;xz$uyUTOZeK# zJJxr@`KAgw{8;*g$*F+?W&9{twZ!WGRsDe$z;BFT#LQq}6SA%%;0s{!UYaSjn_CN$YxK5B8(?YW4^#S)5!~ zI2Sm>QXUjX_tt$(>kdkw*WflrHNlTGoSPxQ=7|wdBKX|IE#KEya<2-5FDUCsY%*J3 z81WoqcI|+M%J3~;*KugEQ8~H_T2n(K-eKnUwRGz404MVR1zLg5wd=rU*vNZ`*<=5k#sk6Bfo= z)5FaKbX8wUP|>?j3j{b(CgAlBLCBqG6#}xEJY$a%ccIMK@bbn5)}XC&J!|5AnGvm3 zgsukLU@Yw7cND>flZ63=<=(|<9HG$i-)4y_w<{&8x1C(JacfA9Qta#Hf)#&nxO~zp zuU2^voRzm~R$3J@4>ily0n2Ngi&V^SRLM&KT2)-l$NBa+!6VJ{7|$q7YFb+!%LbKS zB3C2@%No5qewGFW0aKj)dyVouuQ6~IUYdtbhH&iBTsIeLupUH_@Q^|%g3y8x_AWpj!Gd8x33seyYP-SAvGDVdiey^biC zR|(!aUqG=K$M`0(g2E2Qp>pr`p=gr3^B@HFD$3`^?QP z$oo!?FWn~j&y#OAvJdrpmJVGi?q)OtEs?>d`e+N~@m1CLB1X(z77b76&gApy$BlWD zqF98dvSlnQqCo0If-#C9DZ<&|=8j*v-pg2&#QVYx)9Uhs7$w6YqI-obc+Jod(f?4# z`Si11VF3MZ|50l$;#ir<$-3_SmV(7mThNE+X+pFa!;uloGuzs}vF@#>It3_E8^_su zWo@dVe)>^FCzcTR>*1Q{1`f5!&O3(^-ezytY21?y93CIUE>@|Y@H^uL@z!tH>yij& z1>G85C>pYuu?wF$hc!`~#GA35*n~8*ERCd}<__OUF7X55_W37r>tDVoHCM?`RO%@# zRC{2vl)b(ei_tI$Q_k6<=c5 z&UvuB;zva$4@wAA#}m0^R-%OY%xlfvKjf;ry13I=IOO?e}}z8FNs54FD%XYaie}P zmWiLHK}wo*C1d6dG)W~ROJ)A}$MzY3X3A7z6s+|^Mx)MM$#`20e9h+PHZ!E;Ja4E!bStq_qV0bQ3n(ZPlE$dU)OUR`st{$vmi&3Mw{nemyk+$`?^Z0=e7iTUfp}{VH zR&j$Kgj(iYJSW_@Wuo?;x<8Z4CRQ>w!HqFDs&bw>Y?&FdTrKvQ66Li%;oC4TV`p~8 zPrN*5PS(3?E|>}wvAh_ek|L$38_Iq#Ke>k~xnj+IWyulLZ&uJ;*@h_!RMFqhq)4^~ zjAx0Fe-1krGpH6zav-b3^sTW=&ze`WcD=1RyB4ReUEUV|c+aWOQxXogKqoVFgOB$l zoyhYOMNSrD4j)H1zkkyrLmcQBE{MteA~uF&I6>gz`i6Zzus%pS5m;=kAC{bckV@T| z-aMzaG1~PMEjJ6Pf=QvV79_9xN84&<*BdFrxw$ak;y}Kj7+AzVH)+KDQe2L1&quU| zP|-yg?hTEQHcghQjdgo-mpe5Ux;F8;=TYYdy;SWSf=5n9QiEv|l2}7st9_u)$*Pg_ z!f&R|k|21$bKhGF?Y=XNQIW5LK5y?q${6>H`##Nsy^NWwKinl*Ge|99rpmgyAlSsx1(1bVxAGMN)vqJ-`-`?Sd zJsztkFUm>eZ=Aqi9Zv$2kwFOzaTk);o@SpkD1CXr67cSg9TW|yQt21Hgq2qaxX69+^Vz6d03H3YAy3`Q2c{QmaxaPsKVr1|pt`{3>3U|}fqxp8#n zC9om8+Mp`Eij3VfxKLWmw=j-Uwnl{R8J)tJq2E44XBvJF8Mv&{k(@zPI4 zi8fzPPl%r6P=#y^sZ(Vo+|@kxOX4!6zXzDz;hde+T#ThY%ApXf3Zq3` zU;d?5%dyGjxNk{T>+r6CUAMT0t}h>t@kdUum8vfn>=Nu!N&bo~FnnY(9V%oU;OGL; zz>eh2nTSy`lK^Ot^6 z;hYJRi>eTGXj2Y?eKu;+J08g>!BG>Ec0kK% zQDlWI4A_>3=s3KutSPNB|N2Z)jpL(i#GOvE*BX6jloa)olpQR@g}GHsd6-OA7? z%Bmm=U(J9$7@lMSOA1~hY$_iB6sZFXfy_FF;PZfUwYD1)RCXwe@z&7V%&`)XZsNH= zW5EBA<$Y+3odRUlv_eX8@&(^(q=r!!#@ivPq=P`= zea4!N&VRjwc~-f!Ouyn9F~;e~q__X3Tq8hWTRg$jcXBdo6DTt*U3!-`x38e{vnip5xtj3L+ z$BkMD#8wt3ANry6Ma`22yd(p0qZGVj1E&;J!hiet=ortA@^`G0jJZA|$E}k(uACkb zs?mOC`+n3%>!bo=>pWDkSIA;YwR=jjeAK3&D8-bym`Mc%8-)M~xUgabbCJ(YF=bl7 ztScipBRKlJ!X|2&%@ThznX%qDv)PNC1JBa?sIE?VBM5pHS?LjRG*w!my=FF<1@*KysG?USVc^=|Dh=z@iGl%VN_h#pXqPu&WHJwNAvCs6TLBU8drLKxb z@c!l&e)VM)L_BHt+W4MhWwKmzvY80k+!#v-IeB1>81h}+G){7O6LSr0l}YA;59Ziu zx{-9S>HKgIGr2HafdyZ8dqlRt_!zjj$BrfiOkaP!RCBmUN*oza;&9ZwgQB=Bs%Q+; zc1+il6&-?Lgj&X+Xf&~{Gv|#Z^yp`snb|&gCN=0UPpWAPxahXrNtMe*i9CFsv>)U z2j}|k`hItr_O<#xR8UsgTCdq>IQw=BCb)>dASGBNChcoX0qG8=`bCZX$hW~Bu4n;n z25ujOp}~tK332i4UkWV|@fzmt0hw#^iE;zB9Fq0(Hv2>N=z$f?-&;G~$MAgSv~L_j zUD0eoh^ErJoeg=}g>Bf{)IYC2Cl@wUyt_YoxVC8W+LGK2?sc}e0!+!rAm7<0k2WU3 zt!*C>YmZa$q&~32I=jO{=Z(tdllGf=LPca`_uDz6%iXqPq3xk8`^%xu%0s5@?Ig1i zX9Aue?6MLbipOwni| z@6PlgO5~es3O}bsNYN&itRysVUyqVkb7~S$^xo79Ab(a2(QGB}cUvV;{~VGFfLdDP zbP}JGFcKaRZhrnuZQ{{FmDF&!7sFX;!{M5XvEbMdBPMDTN&mB5*EVX82 z=S)OQn5(u^NT8jfQVOBM6v)!iPZC`ME+qd=AiJmNJ~lZ_Eli9Kc&G>5yAjXC88 z=%~ny9*JV|SysxN93;KF;KwifaSEIy?NtTaCsdDX8L-!{r8#^%Ro6D|=(To;&(hc? zA#$6Tzg22s$k8M3O66{~X-6MW3ZnE1VR1Syd_bxZK$ij$UvxK|s?OAz!3hbzCL$2I@O8mrU zyIC}PWP1oApu{inh3r8FQ@L}H6`#!Z1fAyzTLPg#W#nL zVK3VVCt8*4&H6S5cPaJii$`R%_Q;z;IR6UC6Jv~xiR5htgKVPMmF^rF#s1A-N;(`%28zXasKPTXQwO^!T#lc`-}4l-4Fr4^$XP>3Q& z;i-OBqCR2G$DOF}oXnjaMsh>~u$24tgh)r_=VLTp1btc%In6BVuWDwUsh zTekhnK5H76nzKqev^Jmtzb#;H#eeSmvY*D_2s@haitF0mgS2z@VKw-?3-Mg^D!c`c z=?*6W*v9Cue+kGu$>ixGfH_ z4fSqw!1{;WZaK+<2gzAlILV9o`__$gl+^sV??u!2z~v@YHbdso&|RsB!@JMx&d&{i z?J&CEM;QfNPx!L3@^dK>ndBKs9f4DD{~IYvr{tMV+Q;HTeg=>@AZC{NX$kBg!9May z!VoNRCGo$~IKwSKbLng7A|uc$8OB5awP+mxzHKBqbcD$c3*X%pI*>vgIwr)KYJkr? z>J!WaJvxz?oReTj1!W0WI-R*qO16obJ32U;vP}Jrr)`iW)Q$J@vk*=aR?L^(`^?E> ziCrwcdUFT&d2zjvG%~>|>U)q}?Sv=eXVaJu;TCCTnskzJ>E{FysYOOE=DtUYQyA%b zrjkNZ9N&?MWSbJQm3!a$0m)OJqDgc6Q0&8;lws?D%k?Rk+?gSnN<5@T#T_IH+>);- z)ua97y}wAMvnIFCD8sSg^#X)hsbakI^BnN}w!ZSOElyR++3_Q{F*r0DBs&=yZ|s}5 zY%Zt8WOAl+%y|+x(l+6^^WTf}5H<0={4~Cii}RKt-}=465ip=oA91X*3yVFuZj#Cc z&@&d#=6ND$G(2*4;&iQRCOHn%hkT9hZw^Z=G+dQv%S9?`8s~)@TA=ij^Bo^g^GNBa z`^|wJYII<)JgJXTbDxw2zxC5>Z*dwPYD-K<7w$ z1#2qlcitLag~W;P@<*6!riUvQk2_*EBoMo>wMT7$j{Jz43R>tFYuuRi8U~V<2#2Ty z7OD(i2fdVyTWSD#FeeOCT$2YH9>+5R?W5URj#VW zwl$I2+KdwP#!JjHugffBwfk<*dbRGd-alj03BzLzMFxG;a#V@%lMUU_NpgnW}-NgQuyUm&h3;5Fb}}KT6t&N970Ih z!^n9^ehcG@q5MjeZd4n;Nnu?=rkViRw8zy0L#9J{PG=Pj3B^vj9H%c500-6VgwaL1 z%zRaaD^?4aRy9DPRZX0_GLo(LX~wtom!vnW# z-R^`RWxSP7216VB@Vj)4oP+t?u#V1d8iB`Fgs7_R#EZCUA%p;P86IhJ{5pwJJC{*|VUIhS?-l0GBc0c-ljH3#Pi{3loT3dgm`yv|h&z8q zhjBW0zw*r(&gecaF`1~9z;gz5%DeJ7t0NUby5HOvjqro+5XY#4ZtrlaHDmop27~!Z zM({CTm7RTm;m38(U1Yc_m_b(yFfOsY z?7`{CV*aCb(gEOj?kL-ZZgmAf^FfPy_y`cyXc48n z8iPY`N5L^kF<^O@*`>jI0M2`w%-HxcPe70Uu0{jst@)-it1pEvPSh%D7ru?$W0Dil z6Cl$Yu~cUyvs=HYJd4!ae)U70q9d>>q)J|yF|CT6b`W<>9Yy1Fij_05dUbmRq?hxv z;uedR$S>ufvy!G?66m?vZ`$}&=A#2#ySSLiWF}wJ#DK0siqyB^V)?S-Ie43f!Bc=z z2shzqd)#++xwHaQ)qegrBYI6uNVm5Kv5?CUt=W{lLF@M~r(8VZ&SyD`O^&Jwc9Y`| z>qxon9EhRtH8*Y}?7`|$eDKlGF#62ORX>dPxr0V1yQGgyqVXgWStDI6rY$(h3Mc3- zr-?-rNHdpFMQDG(?Yrb*x)P8a9+x_mx6bcxn{EUZzIF73lk8nhx8R{#m z#pCpBp?sOEG}dT?pV1AnR?nuX_Z+FB#uy{!|rbcEz0P|AfQnWmpvNb^D7kn>Z!q+g=C# z0LRw|uSOm|&ym+zvITW!s|oN76lC?C;Um5+=2J2Z^V7kLq&`=4hFe0Y+~oZ&&fxV6|c@&M+&tb zBU73>Vhn>m;=<2c8Tk;qcB+7|An^XQZT1aw9HZi5RSX~09ai7@ZOL)q^obWDj`p8% zwv&#L&^2xg{BSYO3^Ffyil4?8+a>SP5)gBb z(9x~lxpF-qGB-ZsSk}Guxm3r99HQSIOVD%fsbH*6w(enbGL7I?I2xz^q;6wUIFEZS z8{ck+`RqDV^24}Z*MF_lZ3Enj&B}S-|KlNchSA~U(#al8njgWphzN?uk`m`B(2vDR z$2Mkj18$SD8j8t>V@97Jc9(ULeZ5hHI0`aV>=V~65Cl0`M|~+roI5c)ic=T_t!Ggj zeV7~}%9+EpB?j}DoPI@M9pJ_k2KJ7Lc>YX485HrBg$3jkBD`&-pSMRSRGI@(IuLjP z1XZ5KIDTT-#h79>Iaq1MpCGZ6h|3n_6ryp956QGSyf0^*@Oi) z4qPTyZUt<=q%3#})cp3nu6Mgl9oXq!5Ll?WZ03peZ3o1IzV-);YJoNM^!&5}7tQ1h z-+a5i`93?3<+$>YTZ^%qd(D;{q;6dOW^k>p?X=J{Kel+HuH#7$fA!7`=DQgZS>(Pt z+am|2yg`Zt3$i;=FrXKa#vGSaLiyw+1zT9i0fx?OH+Fxkd>)SZ3I3`$sv6EjhvWc1 zO;VN3C||l6iGC@y;LT~dV2QYp>1#P{q(v|L@&DxcIV+jfiH2v{GmD@BTJbUS^iLb7 zaW-SA7N&VDiUUW{B|;Nr)O`CIJmMW&W)%hsear zcxEX%_ECniyjsX2PASQqHbPFq*X)e*&0&Qe6d`j{%A|>vLYX|9yQ1|{GAV5_=ZVdP zVRJb{y`t_sLNWWV24cZikA1Av5;fWoC87W+LR=ISkamd`0@5zALO|Lj8(M($H|=8m z&_W0?87X;FN{5MBgD4r|TA+sfqlJhDXd!O?s}{lspoKX2l>DEx5Y+!@ArAf*EyTee zErds5x#x!#;#BV2C{g8RWoXUj{8x8}F_ueVVau-TL8q)$f#wd+`nwE|!YQ12E5o_4 z3^)sR(S|i*Aht}v+}Sb#b7u|7fcrc5hL4o-nXypP8&N8Z$XZy^5X>A^@Ndev0!SGr zAlLx^MX}+3NEuiDri^Sj|1M?3v|wNTuGj!I=qt^JbNO>J+{QqsxC%eR+X5+QU5b$}Y+Wiy2Hce2EW)7<$j0Yg0NHrIOTH?j3d5lp$AYv)J#m&U|`=dZ@Z`rlvI;#GOk>;y!z z+^EZzPGloww%c4!x)zhYg@J*?+lrC1%Y>)MrS_B5= zP5LXaI&M1G*boEC`)@&BSO8FvXEY7Le1Z%_)L-t$=)dZvY#;tpke5GBRfn}^5MJ+U z>poG!ggKk3-#%O4pe{CosexMS5OKoyX21|AyR4#`O(!rn@S|+Y+ZQecC&K{11qY## z0SIuNo^1eJ;Pp>{`3n~uKH$QB`gNR;plEnllrXV{tT7rY+8=pF(&tSw0h?g)iEjWe zl#R?4{Uc`*)9-VuEzcERfocIUY4oa!p*Pc~jjCT&xtj~AvlJHv? zACCc1#s8*Ap(=Xbsdt<+cWCr-Iai zwoeb6r9Y_HF!MV&LyqxHrDDbHi>tgWOGo6Jg1GBUw~#dj`$pM$Ub6`66u^SGb^@>< zu2CsU30jw(PyewXHe~}Wh)l>VtMi{SgEZ&J=Sjsg#QjY_I7{%V{Im535Bhk1vUAAd z4qh6or@;QjuvX#!F0-|Nd#&Wkn^BZXNkvB}_9*NyyomwNPL&--SMG{$zX`4R0178~ zmu>w`Qb-bEY%H(OG}_HW;`kA9tnHtbG`x2NSV?{3!@>lbh`Z34wE>uFnBZuC@22~U zucj`|)EC=EfUW0}xwdtspv&{RYrAA<={ys^iasyA@V;8j%_}As=yU8wjnu;z=lVh} z6(fDKQR#vugp}|Z?6d;+I!5|FG9PA=g91W@-&v7kM^o18QQG(x?y_@4L7o7cs^S!T zfPCn*@>tNvyT+HKaB!6%bSg)NI7atOO%^tVDNA?(O;S(*)W$o1BVU_x9}C*JD7N)< z)q(5Ff%*;9?$udYj$lC`^XR!_DmHUyA=ZNy5CgF1YE0C0OkOS#eBZPNxRRW!5W%~P zT%dVFH~qERQ~=BSN~DM37#h4=3f)KXs^JfI%m~Tb4h{I?A1E&CbW8IW zP&!UuLYt1;)Rd2HTYyhm6+Vqjeiwe+KD-#9PYG)!>cA=Mw?`Ky%MfY>K8|6aFygj2 zAXeW=&G~A*B&Ez--r!JT<0kOquA;5_B!=y5*(NI}1v(4ODdVJR_*04Sd2TgtM^-@7 zeVzKeU`T|hKG-rAGI-O*TIg@33?7vuItzR$=8ZsXJ8s^B+ZyOV5?ZEjG%wMW`Z zVK477t5Jm>2Ep>#abW4>{P}A*1X-?(183Ad9B-&v$XYX>+TpQRPmcA)H-oDW%3-B zgqk8wq`6dU3K!nn6_`c|wR%DtDnZDC^Wf~EsXkN?G43q2VGN19ujC=7Rnfgvra4qH zsqncQee=7`r*TW;uF7cdm!`O?%e}`J=wF`xeG_;5EtlEP?z~LD2%Kd$8iZOXBHysq zz;$9*@lIb6Qs0t(VJiom2Q1TLIt8BxB(AfEoClznIQrbm&mmf2kP3>Bzb%DUgOS=M zMiGHH6h>)$Y!wH-i|;N%f!=1V#8HIN9))K5nG?LhWOU2^;#h<(d1NKXJkuqepin&1 zurrUaN4aGTfZv3q$>!Pk%~L6EKz>u{X-Cs$_}I(>E+JO@OIE^?|8Z;2(e_Kd1L8J= z9&aQZtzXUuMsLW{?VnHnOWf8^Me$8v%7$B7x@8-<|6j3N7(J*?(~>m1h*2)^+`lBO z-}bdViGTLa)KKCMkfQ~YpvHuWw~7HlOLRe^K}&#BL$$&OleE`mY;_jeB@sZ8L>LYh zKG`K9Mz4Yu_G`{lqE7tzzNW`L-x9qGB~O%}AwEqCqI@*=>OM%uOe{-(U$<;~cH&8YmB777R_FCs znSLgxQ81T;x_KDh`=m=0D=^|kfAjEXA;s|e_>jW#jz`h{@&_lXu7#orQwmm6jK^c? z(TB?(+WMmQt+QO+Tgm!x?J#HcJTk%3B9m^V>YGIsJX<7*+lpFl@LJ{Q;oy(uBs8%a z5?Yo*HfAvtBLn>qnKxtcQ8D42SCw=aE~P0EzF2eapg0DxFCZ5y;xi|V+7{`GAMc)J z7w!0~)ta1sw%R-6|EM0#-?od?vICNf{G3paO{m4&H+#RucF4~J0jWk;A%=;BpM7O_ zcAj!4ZeKT!h9>q-CHQhQFfcNwz8x;5{%JRKzdDtHjS7^QL48H+@zwM|8zA5XMg;!> zP(}k$Xh8}CPyb()CWV)67H-P^;#61xV}0gRKa|GvVBUian{;|5DBZR@=lOMwKwrm3;PCuug!Jy1+y1tVkz0N^%j)wp zqY05Y;D~-o1_r6;yK zdG=2M`u0IKY$RsPxB;e7##F-Ez6>I(3`Q!FxG_X3o4B2!et-}Y29zfr7anEbEwXY> zrcy`fR%}^?JezXeJnpUeCneS9ycU-#M<>I!$0EQaeT4nrP157+-Fzf--HCRt?QJ*Z{|o{2+zyr4foL(fShS@x+^?-6;>7=_;yLu+bvQ&OAx1nrxsDV9`xGs*+x50zIb)tq(DfbbJp}CEB~vD1!;=z zbBFbq>t?BT`C#*!;3^dc9{^9Fe3@%H8W zEhNw66v0pfAN(E-s@;d;-^FuPzPcb#M_zG(NHL%SzJgmwqwG|cxg)kBCio-^u(4Ns zY>(WAgXvFgN`)ulM6p9O^1ntdw;=py%P5{Y&t`bf}IE;lz8647tXC%;k zhzAn&ds&Cuok4jyY z%t%&3jrlDBjb=mkTS8Hst?OMg^WhwU1!c^WOKx{QsHfV56z=1>CMnEoMl72IK?y^7 zr><|<6;+J?+`usBFqs-LS^nORP9P6rxVOhJ2Nq3e@{`hXOX0v#0`0FUg!cXhJ`ULG z*XsTx=h4Vom3 z7>j@bqWL_p()NXa)7ES{&Ejn9~ww84Qr)&!F4uXThquWhOa27EUC_b(6JhIM$soiT(P zjhqyF@jb$wt3N$vD^t!9PoqWNQYG+{ZEww=R-hR)e)G6Kp)Q*+tLg>Vq{~m&(NK-a zhE%sbm7+8n(`xr*88~CBm(G~?oU)Dr)p64?C2MB0A1p{|W}Bw5q<^R%z`xBI$_|}2 zKFFw7I%#H$>trvg$HU~li{O_kX&ahsc<0v%9u4Q$5jy|y^Iv5V%W|Imk;702_UWK3 zz8&GfPzod#Ry^%jF2qobRr(cqvk&!1a+yLcmrwt>0wI*Tx)t}Qg_bDgA9z*$KgD|Y zD1xIcE{d0m`1vtL5H8gye~_{X7l6nYT*?y@5_!lN0uis1li-51GW}p1*+HC^eU7}K zl4I%^)3jV1Rwv6fiI?@o7rL4h6ydQjS0<{K^6!?oI+b7xvYl#x(Pa1dix zeRO*?afV*SjZt`#;@Op9`CF&Z^o(MI#Q#5 zB@GU$)OT4dBk^toi&irX2^))2#1iN*1a=BvL8d7ilk`sW-ynv8bg8{HG50T8)1dn6 z(cDq|PcF@9%D4YP{C*}yI+XmfI`i8arLr<LF)0`1*|-~+ETPm5mXsG5!9|y0VP_I z=2*PiLqOjDFCVA&tHPHD+yBwWN!!!{@Nv>*m;Nt4PAl$o{9v;9+Hb-Xkz&!j=#fty zPZf0{xQ86dxf^vGzz45)6FT?R-hQ#y zdHo6AA9L?~Q%iSCMqe}W<|B3X+GorD)%GhuXO9xJzsepE$yC{|CuJi2M`tf+n`j)@ z4}Xr%-tfO^<+VZBGH7liB~6qElUsG#u{gRsTu?(paGR=_@SFHI<*o5j`HKB2j_+g1 z9W1Z$dR@+;=xC9O1lm1bczdaDsRvu5|K`3o})DSR?ZLX2AN2OPjPPl^0D`K!hOB!AccCHeb5 z)V&2zoZH&18-lyLy9al7cXubaySqzp*WfNef)m^wf&_wlkl=b7$U1xf|6c3dI_KWH zQeP!SI@MLsd_8-+($Pd&|5 z43b2g`VLUY3rheBd0`1aAqUP^6n<66l_OqsQSH(1D)=o(L~0pbNf=F7!IiHHIh6=N zA*U29gh(P%j`&Z7oJ!NOC)gCZjuU*=0%|Br(jAG3BKz&cCt5^ z3E2r_w>NISf1qWu(gzLYx*8^G!?k6`cMY=t6Ct&H89GR?dCJ}{LK)*Lai2hfxPP`O z^b>o}+(0Ux0>-9i!)fr9Y}~K~kc}Asg={Q-AseGcYzqGi*_iq_WaCxWKaq{xm;Z%q ziigT`y#t==?HXf*%O)1`<`}B)9aY#uR>d4ehF#Ewq7?(!t@dLZESmWVOe~tjXwi9_v-%iH}Hke(YTB z9~ONMsZ*Gih44yUP159W0f?cjf{OsH-{iAIGQ2$No7SKBqV;#Vni3Sm20|Eol0gxM z35YVxeI<2GJ`*8QU?))sEmGJZU1Se+38a6ul+u)E&4)oSAx@08qOU_0A4inr$ELt$ zc=a`!5WgH!Uli%P2!D!ov~A$5quqKS1=HfmFkcfSm@uv;GBeW?{1 z(@~avE)D^a1QI=jb`~CM7Tf!Pi60lzxgeK%HjYd~jvsgEjfEBiod5anrp3ka(i8QH zuo@sTP%%P9ydt~xRm4;8>P`<%&!l8lsuw~zr^l)TW(dgaAs8|aEWbha$V`%POoH^W zpe)F16Tj-X3&L}$tE8WT_rAD|li1Zn-~ec8f>blk#rlAarREoq6lK9sTFjpIWs8m* zVd?C+w1I`{3QasLq5M-=VEdP&xpMeSq`k-4C!F5>K6mc?pN-)wWZNk{_@oT%?Kh*c zbTOEqw|QT^)j@GYx%&-zJ;U`gMIR0=X}~Sy{8?cZJ_1)bAOr3d4uoW2P#pt~Ns^Rc zeU49m-76#hH8>@&_X-X8H;3GPTJT}V#7-69NQ;`15LsxnIlwY0!UFgl$WN!FE9=U~ z>e;h=17OQu09cDR09HZf2M*etw7Y^#jTDcsti#;GRmql~o{qK^Z?y}4=PVuGQ!6Si zN)r;9*iX1i-9;#348?#Avlw|9wzs4Z==r&-PRaQ%}&YrKQlr>zfCkDyW#AO^-Op}=QwnB3% zEp{3bWeGrsW-8zMK>*XSOqrYWDo5c(_@}|xF}B61eE5DS*)Ej@T7#~A)rr|13EJ%7_D%KH{&`HzhAJ5?y>8Ynz?I11 z=F>;mx)_lWYbz04$r`7z% z4L`Zut09ib1eTX1J92TR#}gqTspcaUs|d#?g~K{rF!sQFnX zO@bk!gpz?J?=UPbV5?zsP%rZE+XLaejnk6EZb9$X0zFLpy2+NZn~B?*AeawazXfGr z=k_ISQ^tQ^0Vx(NF)m3H2T==`u;IWS z-y~m8)d4jPJfum<5s)O`*V%El2DQKz@_~MbOcMM6lilJ*8Zr1Z?d3YGu-t<4wceYW zueaAm(>@5g3k~eS&#BkQnynfe^&DdEP{7Mc^=p*ib5y!T`|730xJH#BC%c=m{aflY z-F@MpD?{2BaZs17mTB}d#RBYb%7JxjY|?#ZwRGL*l%I#h<=%D%BKuf-I3p z|2LH#ib3|2}#;r09 zGbFWg>-0)z4i<#FFO$HZk*IHjQrqGOrb{YfRGVRQX$DDLVX|`MIZWuzaKak+n1v|P zTPz+SCHAc#i_`F(t!yj^*wjKGKBw#tV${Y;Ek?XXQO(^U16e8Y4R8g!lz3Op1y5t8 zLIe&CYII98N=`4z8v)z}oFUK%T!L|5`- zpj}e7H`DjMKfeT&gY`IgH)+#6nN=J={;0SR1S{!Z2xbxx8pQh8$v@97gE7?wKl}&joD58YUY`e##Hw}$PknH5gSD`pxamLv%D8% zB1CTR1Eq9q(wV{DyXAM6FTk!76A81hXi*poB9?rOcU|a5>R1pu_HgLXyef8G`JPY3${UwAWy}xL2If9|>v86ZaS^gAzgtZr66?>;fk)|qt)zCp zTNmG^Gfv2|&B?MXSB`(33*V^?a5?4_{V?`{=a4Md1xW+A@|Js_#&6XR;ExdB3c zLZO@JzB9BtzIFuIn7F_zp=;6K6qu1>RmEfMy`bhyXzQgttsQT6$}* z#zU|*YB%Y8YX&Q_*d-f$1O|nnyjGe(8L9{j3d0gSGxgIc3-rs^hFNmtje>~4A~1ME z2^08ZOl>=(p{$B8k3``OWty0xh(zJ!Q5arO1S;uIWh$eJM8N_6nH#21gf0S8)Z9E3 zfwASOqq+9U#?>4zgG<-Nx*-~27*jBTKbeU{2bwNF)89e#-ruwjzr!@|uIY8^rA?$4YQF)m6!Z3f%4{&*vl_BAkDRik+TNCV9*<|4v5A z!Eele%#$EX_;GgOT`+bU&~7O%@Hln?hg8%%_8ejqJ3PDW1)iU6z?l=S@a*vHYry*? z2gPu^nAdD4Ay&=eYd}ANe=1?6BU`-dnm~l|gZG;_#Cr#Lbhj0}3%u*K@dFv`h930G zi9VD*6irD^8zsGZ!>=710_A+y)v_08*}S2sNB0^6i`b!8Hs8V~!jUySPvy{(9f_0+ z(8=&kK-vU~#L3P?oGs*Pf$m7Iz1rm4E=hvS*=4*l=e`wRVJ(DR$r2#S@&r8+Eo5-A z(cy5*76_1sXlV^NU)J@hP#qcj9c!hNZ%sv;m`vS>rYmVsZ8eIbp`Rvd{>vGgQ7_RA zsI?y%-(Z0~bkyGx<@e~a-Hs4;06Nafza1h+_Tfi2wRQqHRkpI{tYEYW4kg11?LjBk z7O^7FpBLziKOQhrIV3dMw0M@w&tKorIqBY>I(-GNxnz&?a@Pr1Um9JTyk5IrRBz8c z3cJqT@7GQs^pbuMdx_j|MyK)L3=?3kQzz`XhXSIAS5Ht-@z)ROjfnvNyYvXRPW?>{ z`aq7@YYbu;kaD&o^RSSykTvmvu1Ue}!tVO?wx-%4Ir;Q&VYkJYuI^ zk~t|w;|7V_5vH2Vi#cG&II)D9E(viN!(X2N@O12}HryGJ)}OJ^*^w4$kQjb_HIuO* zSZdbcQ*R_oxf9*!h)H@J+j2RVw6s+nTpWoMnS-#kCpTvhEADr|U*hOMVJHl$`w zQ>9MknsX9dml=*2R=A1^4O)NOj0{=%7is#0fVpXMSWSVZWl#m$^3$`pQHD-7OZ$20 ziKf(&FcUM_+q3<;nS>EHSRlpCWsZ>p_aZJM-)2iU+?+nxOFGY_A-I=}G^Ga*mv(A| zN9sS6d?YaG(L`OjnPiW2#)7_QQlxG><5CvcoUieNMsztO`4P490v^jjC&dQno3j$D zt*r;XEEm1+bDJRi`r-Ui^Dpb+q7liYNu?pCAx{o&OZThpR-dZb7%J~kHQ5^Hqf=cF z3ToXrg26(n@!9O56{qxUB|>4-B47o|{KI1BYR?(*sS{8>uCxKkH1VKO60(;L7+w+L zl4Y93chf9I5B)nTJIzkplX5vI4Z_Hmbs;$5HEdxadR3o6E&q;qe72sv?Gp}0Z$|_& z&WL!x=LB+f-=zXa5MRMBj4odc1MYooQm}xo7iv2O^RQFgeRKTGT3sS!FaRsWBMsE;nenCqI@CJkorwu%Izf)t|w!((Epx^oR2o z3tav};|7JzPSo(-Oq}B#Lx3e;c3#^RN?(Tn!T{GO$Ej zn`1rSH2u(c_DKq@2u%_<6P4_3P!YaV17n96=T`|{WXqioCob^^&)&dW>2F&1fM6A=C?TxP1hz<^e zHcqR>sZypbjv^;wKTdgeG#3{B`j~WKCU=bImb=ajwqyFb)xF0W*pOcbNo@n0SWw`T z$8y^3YY$;dKKuKSPyOCgw}wLr@Il2KI7cEK#2TAmn`3e6SAHFbzj}wW5*TU52M999 z_3hBWPC#HTzoKu?e2^Y*&dstia7+}pX$BdJ2uuFOFXg$IK(&%uN6MGjZ+aw4i;>1{ zedmQ2IdpQGtM|ArAyK7OmK&6%8D0Hdc0UsrJEUc!lta6Is}B5KRYKa2g+NofRa&&? zyDm*I6poz3>)ku!ht1P4D3Lgb27@VV_79Jg0*nPg-2mk_v@>P~gUsFOBIFh;Es(-e zKlEMRm2m!ENw-YmPHKN6&vZcy51n3ivTH`H9{vV0*_94j)iNjj@OMMxE<+HtX=R7J zh`hhSdO=1l1KcPf#@=T#)K=l`BiU8K4wD*c69;9yoIKvr!f_NY*j16#TJHI%zonIW<>Y*)v9NKIz4sBtE9tCe^NeEGELj^+$ z3zYCThxWpYL;L2xIJ8k-((2B@`~J-txSb^l`U#MCS9S&SN}fJ`-~233L&a%H&2B0V86iS} z2C9>%&ODS46e03vr!jmviO-G1>^S(WCU|Or+=?Wm_IZ%y=SV2;k@VBV*Px|=li!PQPtHdja<&wA zo<4?bkIhGS-5aomViJ0~&1|D4&K#+A(QRBSO=BI3w6{Z5(1u@`?V-{(h&~UWvgp z-O4PZ(jSArDLIxTDvsA(n~q#Wd$>wjR+m0diq+gms3LkxW(xGAwLY8|69cyxV_lqd zTd)#`UVl!(j%0*i95@|~`;K9+s4NXk>B<~Xk(^e(euEWUzaN{1sWoxVHV-GZX$aCY4v7jzImjILX0bMKCmr0(V4ZH)^Kj%UR3vX-=)$Zj6qJj)N8X{pi($A z$RjCsR;ndmEjHeeMQ0d@b67bmEcZ;gSzp>2^wgU;k<;ya-qOQYJES_^o{Id#hQ69) z4kR})CX(0FG6)=aF1n5%PyEbuG5O*##$Psb28K`Uljxzty&^{Z6}rS2HOGB~fkubG z!YBfSC_~kQ4`pL!=!4G9^FS53;i87T;*rkZSKxw%!t(XOxpfCi^`b8#jGf4%l^oyA z%au`|vtoZa-lGV%@e#Aa<1)us;6Bs0S@>W@_vf;0fo?yJE*u`x%F$f=0xU=(_z8ki z!Po6GJ9k-+3+5A3T9;i%udcJb6})O2d)WmNb3W`YNevEPXp)rS+3(vA^ajW?#pZ=& zUq<&&LsR_Yx7);fXvz&2adx@&Z785h_k;#vcE6K+gk*?r>t)5fa$zrpk8%iLYV43@ za||qK4kqI%Q0c`HORWDi%J5zMB!P7XiAo}9=`8bSa6D~dBU+$T2ThK1ud7Q~pG8R=%+mZR{=I!UeLgU(B~EY3)bh+igXN%9>1lh|8uT zi$?7)M^6$BpdR6i877FP7rz}lZMwANaRF{`BFb9&q2=Pnk!^ysHk8&!@nkS3KGU59 z2-wNZU_qnz`lPtg3fSYIfo$i`BzRR2Pd`pRVTj>t*X4U z*;AVaFg@Ngb*MaR^6=20mH*(PfRbl{6Y=i|NxL2cq9sNJWnYxg!+!B#9CBH@_$v4| zt3Rk!re0^<+e!qIYG4Ed0AJDoDUcL*C@`oG64bf_(X>M&no<&C-w(b4Yh@k5HDWb# zN_6u#rhmb3)Yg*Gwb!Vd3s?VoP)2k*cP!*RVGKJZg;9<#K1~UQj@Zz8mJK zubiBiWq=0Mg&nWy&&GXa$GUoYL4>aUUOm8#tp;Q_IC9q*Qc5Q(usUFE7(uK_(T`OG}4jd zz)ikGrn-XB2UZfYf@t;Zp*4av?ws~cqHNYNb!M&Q;PdgURiQ<8u63-ewYQb2{YK`M zs&f7Q!P)FF@(V|HOJp(3&OF`G_g!! zY@NlqlD4RxRl#u72(s6#7pjb!CCNmwAVJdQ)1-^ti=VZ zm|>X-V+#N~w(Y*cicaIBrl~E?mMP!6?tu@Ku7YSKqgjVik!2S1BsX6W!`V=Au_>qGfMsw`8?Tx+v&o`)H$Y>){l zmkFsgs%bA<>?%u~&j`K&^Umec3c3Aq-FE~_Mv0Hcw6}b>PBxS6nas2-y1pOjn$-o? z1Ik1vZ|I0}ZoHAf)Nvg|l81J6tWvt$lx@MOECrSQ@GB==+C`k1w?C7v;ZK)-+>hDe z5f@Yy|#0M3w{R{~VDmkbXgACwFL+ zk(dqnIoLpbsd}9_mpHZ(&ivl3a6ol9I)v@^QcQ&VXEQlH1IyH+g(M2(eBR()fQQP< z0{Z{lj#_ceR729E>yI>;0|C z*$!P~k8inend_SMHU6{H^Udd{Nb07lJ8wX@tHJHmF)M}IvxnOA)!kTf^oh&pN`%X_ zc%jTB9T)47-mlCIaIUjZA;f+lwo$v6}q2|;6(-_=Ad-KiV8r*kH*eb`p7Jme5Hyt?7!FS8E zdVA6N{?@F&QIfxywFyUb1clasuC~qQIQU&0WfJ0iT(^fM*v+}I{i!WO@@bo`L3aiu zTVuT*;9C$QPnW%__%2hKzU=X44~|R%KuHk}8~%`z#s1RBVM8DXVB%Tt=b~#kQ7g3a zE?-L5Xl|;U5bj%fOp^qzcC;`}Z98OM{WU+*#diLCKb~`?VqjGMsF8vd=bezzz*)+O zC#Ku?3t6hpLXJ4b{aJ-RZ?VKOXL(l3VWXAW%8Y>dD)qV27c;Tyvkzblt5RT!7$dh3 zEx|-QwgvcHqh5TjQ2?JS0j`DUo6mLZ#pn924@TrNj)D-OAzUcjphN-XkI$89sWbc= zygo|_dYUKTH2)?K1|b+9#mDM@q!dv+ydkH-`2U2Qe#Z#TL5bjq-H0waN-|uX zjby`aQbn^(N9(6uZIk+St#R+6T=mm911j&R^#(21NTPTZI;fK0I=Pe~0Iy6Ph#X)> zm>19>2bdAEB#N#T=4)U5D~ZkkGeVHqD8CZ^N2G7k859W^##nu+uLhf8PJqD%@EmXx z+(hU9G}sJtz8P#Z{&8>&sf%f(OLPu6BX`L%yWWb@o8QMPbKwq*Ryl=qVi^jnszr|{ zphB_c;;*G3<9iwPguh$^U_Y9dzCoIozCnKqw70&&zI*`eCxFi6H78ab^mC5Pg*2o} zG|uuB_A^wtw?>JSrxC1$=*$04*v}C0%@{)iFvk3SV3ka%I?5~T_wo9^a-lahabmMt zD;UY3qf_?Smbdz<^pUgNxAW=rvZ|vD2J^813Th>ARZ8Pl8sG_<5)%b@f-oN?OkLup z{&<2eUOYiYrcrtD3=oJRGJXP4bWz_T-#kH4KIX8B-sqc8V~^>$2J|&zBLTlXT$dMP zY1`(H(BTa{zxek=Ms%a?OIMwqm(fDr$vX;+14^L2Kt2|Az}s#&!!GiQBb`)eoDT!N%^cmMW?GhpNT!q-SiQK67_ea z9b3L7TiJBytDKvqdoDix2CQfEa;Rf~b*!~8k20f8WQw>H`2Br_E3&HW$R{Ke9{CH1 z7Qrc__#s;q9vbOgKnbKsEZ~3g@hA5B{oBu(A4*i%>5I%o0P*iu zIxB7yzrlWDY+GPJ3>s$L8Mh5F_Sy@FD8Q;aB51s6)G14iUA^e{=@p@pyC|ug)4*$J zP{eO&z8s$y-C)uJd1)>vlh@Cezk(=4balC5EYHzpa0tGj3O4H>)$3cOZV{(7jc%rj# zH69K0=LR~FLqh|tkdX%frv)nTv?PR{GLf@fgW1Q8@;kLiDC|n{g7j0i^}DQ?+`?qY zmq!OzC9p8n`!tHi`&fH_8ClG&h%!`jfmkLWL7+ysQ|x5vGn_mEX&wgHdSB?kbz%dw znx-eP@}kIte`B?9rvQ1MfL_dFYA@%tS6rVJ-~(?_471QvWCQgPI_ap$EF~l@xyoBY zcM7&xBPr)Cxzc#ep_37kKNf1Je(^K4+^XE8MQSA7#|!|M?3?Jpws3LWfB$AVHZ|L3 zf31*b#mO%LPKwJ(OR*2IIK{(Ba!IaU$3MDMi?1Vvt@w<8F$tGq#`Y53y(sxA??NCMcAuOrF0> zgbf{#MNf}7v`&8(?TcjOKx<5`+X3M@jH^tcg_H>(tB5IMW;JdV+1jvwa?SzBs?L8V zt3n+*xQ=ey+oo1s(X|llE_B8EeAn)T9(RvjN9Zn_E>m3LQIq(DdiKHlPg3BUoPW1= zmVDcMo0opE@iB@j7RRWbz1JI|aT+BvW!w&=rV0|rEm2(>m!7E%PoqUtw;)!MX_yP? zPdBQh9b@swe3&$oGFnXsz(4qP_om`pUY zK53Uu8TUUyXqRM~fYVsiwdX|{&tnFEm;+m%}C z2)BprKyE8S@ZX!thD(}&#QmTi!>RM!K3YA4rR&@^OI}cjvb`WRKKN9cp;t7n6@5Og zl!Hxt3`7q^f0pgz7fwF(X0~aLj-cokUbZn_G#_m;;8`xxQg@2yX{y^X*0M1jg8q!I zaTdegI$PHMQb4)7eT5cTY^Ou3As(*XIH;OdFwqP=G#XFKvuT}Ct6{!u@u_Y;*_5zO zsIa=pxro{(&C+JEk-lX=toGOZU^j*Y*^J}fV@SB>QuNxsD>!7a8ogMul6BXA>qqi6 zNa`TiU?f)VpU_Dy_+XX>UEd4JV{4GoNKyM%kd%Dh@`!}buKaq<{))9L2?vL}gu%5S zj`+JSNzX)4+E3nCcw8C!CWWIRJHx-fgO8zE_79#9Fu<5oA6|sa3z!ntf6^E{(r3=8 z92K?ieMy{mp{uBs=RQ8N(OX3C$6?~i2ziiNV#@*fcAHz|cRNF53 zLckA|Jx4gmCLi_&SA4G1&TXSAtwW)L%w`Mt9b#cxVaBcyVs0VvxFMYOu<85~8`#Y( zmsracHF8-7WnsiX3%S5p+=HL}b6B}g5-DM$r>13GeQ5=T#$P^2NK<6gzIPvf2q!T5 zg4djhHZNYd1b3qEY7G$%)p6{r;eZ}V@wQEDl&!6cH$Gohg~y2-r^e-q_Q{j$q2J9w zCyv~F<z;g~ngtws#vCdb^7}U6tFh=W8X}3+Vqc4AgNaX!taW>b!vhbbiB4aq2|rW(R!7N*d7Aug|1hQHuC|H`67T7) zw!YqBE?XeY>8xzOhFEBEteSnNBGkGQTWM2>rG;8kMdg1m8yS-VxA1bfvotRoO>*Ja z52cH#81Qn;17Q8IW$JwVTH@Xup#LxW__G-P<>PPVvWwAj{_vUUTFiUFwy6Vo&mtaC z$B2%E5M6wiAdm^Dub8gj)WCmV6^+P1fnqwY+x-V0L&Uu zQxP@ak3t(2?2Y;1J^_;w9pd&7UPqhP*GA|g%7y%-Q92yqhSXFFzh|R>6K6!SCfUoQ z#Gd5lPWq^pX`JZG^sTXgJSl9@_Fo7UGLi(!6nlBOt^uI!*WhNA&|Q~^ZX6)C6pdls zmjifszmNg)=9;(93U`&ytisqUHK_9YaAfD!{?S}+;PI|!q4lo6H626wIo^Znl+Z)X zbXy%@0>6Zx>&&HAekRiZ6}+7I3;RC6FZ2C_ecv?!u`1))Lf%BTj;!)mL*)BoY1FJ zH{@)EVAgd6X%Lnz-mnsUMh_GUSXc_2}#rGH(;ymvyY<)Xa z9rZ%IO60;+X?!LCq=CpOW|r2U7u&e0bvai6(m*=?ISr)F`UEZ%Mtju`cb$wqoTKTy z#96bOuWaH2yk#n0@}-t5ytCG?o!keu1+Zaw3h5IR`R|zg>*F8YNCIzA zjo~1uVcO%aozka#*3cDW=$K0J%l6CO3C(V!>gJO3wu$-z-UZUt>v;!6mQC`8)#aAR z0kAr2wz{KNtj>CdmWFdETT8>Sj+U){D|jlh!c8nwr!4*MPan;(OKP7|^J;esj9Bnk z0c(vaCoN4t!!#>3L8>J|K{!90`|4la{Rdqs>@fYHXq~gVY?ne9@rmim^HS{)mb^zYWmEYah zd*-QU+w+=fubE>&|F+OMrh8&sstOssV=b=cK2pt@zxl!E`Pk<-@vt1%Pg_c5ByL-f zUD&x%^(l(U48OKbL;e^P86y#093#yBFe1^`)Hp|`t^{2l1&sRkr*L{V2qz{07!IQ{JCm_b<9z9gA9Rtj0XpPh zJSOiRv7R7-e!>XhhWqEB|FJK4j68{7`!zAXrpIyf6dS%WtKP99`>A`5^c7_WKzC>R+S@h@A8)Ux8ZR5Y+~7LUYI_|CX%3LE?N_*}cIV%xNY^h> zDP`eI>5^1dO&XCL!%g)iR8n>4Vtt?9vPhC zN!r@+;d8S&-7I@Hkot<4IdpsItnrik)JZ((Ih8kB!NargW%2xue{fx(e1NE} zQc^TvDutzCkb#cW4=)`lbHC%N9Celb)Tn zd4Riajo|oeeeHRyBKqfHX+F2vdk7Q`_4R7FC&sbZ@E76{3XOo)H0LyCWe$x5wqGQD zt!~|BL}0{z;3Z9y(VINz#0@6H)*DVZYf<|qcy3i057)z{_&>T6lEq+`Fui+@+iOX$lN#fubq{9!m1(eogBunFGCmD|?Y zVSloOZ3a3(Yy~fFQC+l_?RDz)yzh7y7IYm>j8xVbBStbit8?;n{p*K`w^VIFive~`=Na=(RuN&dVBjZSDJ*o;6#JbdPMi-^hplEwFSat$h2aaQV6gq>xt%e- z3Y&O&z1(gN3zmD`+xO9~ov~~OKkr~#6>Np_ig&j|=lM~4w1)WF5m%_{IBT{=y*>{f z&>xYgL2jygQFFRnw;Y_8*-1$dS1{O1LV3=a&H-}Q_U{mQ5*hfFO>f5I(X_1uF$q4f zN=TD_U|lEcuXNbJ6ofogX3jd&=h9Wso`JJ* ztPnEZ@jZz5f?#KU&4ehjCBwGQ;QE)N%1S$S3ys@qw9aq)yRft6OK@8f^p3gnjo4%H z&)M{N`cA91izl1K@y(B?wcUvGv$E~Y#98Id>F>d>dvBtU$n?%PKb%`nAOtS!P#F~V z4w-+zw)?kIOB|j5UTWE-nVzYjzjpMaTm@q`^LZM}FAS6x59dTv?RS!}s^?97_k98Q z;qZa8qpR!O^HLm&mh{y}8Zt{ce{>iqB-A^vaFwh6Pe?RmJ%)9;)HGxnTlqvZWPb(D z=`&!WC7`mK^$Lgf8LLZ&^chFViRnp;nkW|$()4^|qyeK<4-vs6NHzdOe2vr;wZVXo z)WCe6!hCt{YGA1QooIR@I*t1zLrv8C@M>Y8M{3AAV9L|?E~L01A!Nr-;TB7r3M>qD z;#6RZh)Rg6@ATB>p1s~yW~##23H;=VN+CWp+owAIDQ44n1!j?{FMI4<3Ln`>}dysQ{-l=JcX6(V@RpHKEywhfL$*yj_4)tsMmjlbJq{ zdzJ99_^?fHZ}_BkSTyhuY)Z6$_()^9uV$?#mCbpTpqC&^nqLiIW?;db+XBoC3FI0o z!Yqq_%?uWdWq`#85ETWhBV&`##m;(8GCJDTUE5vjJQQjaXhiG)NG7R5AGq>->XZO=+!^FNGqW^qS`SO8yGAjPkOuZkUfVRtPTz!?HlMKbnK zIh^ct>aywTQM)HiXCja^7hjg=97aj^HD-ti*~OBz-$5uCRMkbQLNc<#46H13MH)Qh zha7QZrG-Il$y!zHI&bP%m+e^fEZ5~E(gFC`H5PEMg-cK0oco;m`;}`Uy^pS6Pp%I2 z6FetTl1cS71gF}ZAiC;;0CG5G#rq^}X;ZVe!_~NN2QxkdO#~nD9H5_K`!iNXxaK}T zK7OQIUZ4x;HdPH1yMEs*!4t>xi*v`SjGde-A?6DrFOwP80vw&88n;WI)Kmx{aSl}u zkT};zUWC-TQQSt2)w%&o-1c@mQuFp-c*%W7tu`sdwpa7=A$Q=Gr@(!RoQ9AjHj$La z5-=y(gDQ-ZC>m72`g5))3OLu(=O)vf4>WnN+UP$lTwn!~SPv-MrAZW(#~Pv^C}0j? z3Q&L*U?CCId$0bz-*Vp%b`C*VNFH`*lUP~kP4u;Z0EoVWL6~cpAa02e6BNCl``uIp zbYDbYQ%%^#)sN~GVF19wX%#QwIT%Y^F$iQw#@3|LsskWN`{#loIR#@4k~prH_^ZE4 z(iQ}OYLrj7$i#<)j6j6T?~I9fSpx=M4jYq8!14#BQfvqatjJ2L3C#4r9I*x&U1j@X zers9fmF>_z)48{v%2f;1^fRnrvtpVdpYm6K=o=fH*dQ@y?wKtfxHw+BEATWO!Xw7?+CRGp zE5M_GUu9iux%|E(kp$Z4yZ|HiETRTT7XqBu_OYounY;#^0@8)@scBlMUiOo4kyR)ZSdmp8dQOEp6}?4w z=`~2Dak#1oZr;HrlJ@1rt{q?)T`+O#(*Y)ui9m*FiiT9R(&ob>$~DqM^iY|v;XfmZ zfbbv2!ng3BqOBTfbJmf>nz~|CLp)x*f;vx`3VuB~bCZdN?%{09AAmmL+n1O8h#+fBiwa~?h`+AI6 zYz{HMub(CR7GkPZtkj{E-z;0~+!^GO7elgls&;^)G?JiRs#L(lH~sBhtqCUaSK z+abuzSZEzmtn{<5toLw;I(o-sVO`;E7`utPG&5+-(&mk5UEeBVJdx#0dp$>8?txTx zZF8`*u>7oY_E9fD3v}&SYvcad_u<!EE z!CzlLd}M3so3i;It=(BKn@A6Au?iRN@qp3Ic0SRX3p_>xRF*Yi&)?Y6vPM1v>GYY-mwun& zk5Y(E)W*iorsR^#qJeemdnzKtAhly7XQj^?)Y^4dOCQeLtDDx2162A@$VKWU0w;;I znMMmiP&Ac|0&7M~13F17rq8ll{5IyeQ_p$Pf zzZ)!ieywaYTZBy^SrFUku>4hY)hY#U4>}!m9YM>ssvcya5RwQtT>wY7?ieZi_HbEtGs4;{24adpW4^VlZd2^-Ce)5}@^QPuX!?iy;n$DlSSe?dQr!jDRd zbwr_pG*Z{W=}oWjEnGJ-<+QyMJ-&lQP@N8j7NOd&ps_22&6kcBxBDEhZ!{h_r%c6B zQT1!wyhEuV$3HDAI_Z+R8b@0rNCl+J*6+8wKq99X6}T)9iTqt<%2tR}%|7DP#umXb zsf@+@{zMY@oo_D`3|O7{wp`3Q%AtFe!dXHBY?){pM}z#9{A4mi-HQ2|gfkY~7{&oj z1oe98ZG&!Bre5=kSuyVcDC-g_rS2oolI&T$F3lrdxw=9-jdEmxDj8K0CM7mk(B*OC zg;T;>V0C=t+C+xb9@ZxTi*e553=?p3Q=Ym`a(EGWy5xi^yrXcbgQ)9kz57wOl#@L& zc$UZ~`5qIOalelS3n4~@%q#;~HWxF)6yDD)X#Tiz9TFG9nh|>#7L#q(MbJKu3EJf3 z3fUj>9AFRr1KyXKbGm14!IH~SQZrJHCfWG$D?O@(4TS<3nSD0^6)KTJ-o+`OBTc3h zrKBE}vw(B2PL0*Sf%(J&*u=4iG?nax`h273Mzcp&akGR7&7ei#2J4$G(Lq1niFUD* zlQdADs68p_PtCrBTYsr{79c4eNIUMSiAOG^O^W-IT6T?=18R5!jn-@>&Dydf&hv|d zDMwb|<&j3@`PV2mv1C;3vUK>#<#X0-!{q7d?Caw8+g!yNxv~r5_GdCmk0e*nMTU!G zzmHq)B3lRg3~vj0eQ&fbtLJ8V3~QI#k*^G~DBNKW=4sV~D0I1~_J?I_I7$y>j5HjS z;#6EI-0#!2ZB~?>1_^J*_~&08zQ_%(0Ecf4z~M`K_2Tf&%1m25bXckKUz6clHFnkE zlK0k-(fHw7_{0*ZxP*UV`xTz=#!1X-`hI&Lbo<)E25?fkygT-2Z4zyhlU*mwF=O14 zWyp~x*5FWTT13{LBABc`z#=xxDAis-M`QBKJWe$By$Nfv2Q#Su=-sei#J4Jb*8PGL ziB>AN$7%Kc@8(kn9jlHC1PoYRh-DF@xY$47hOoD;0}TXo61O*$Q(?XH>!(=-nn`}= zaS)~2Fq3q<9nJ29sTfq>pC2C6^|BaXAwxcKQeTb!w)r+CBMx0M!^bkDRzE?xtx+Om zdM=Srmxr*B`pt|Ik~IYBJkul6*3g5W*?i8RGQFO4&jt@q^#D@P!34))OGS^n1V!;< zue50OY@y2=?XL@0qkYRed{Z7OyjI29)L!?C9J>$K(Pud@w(-THn;Nso;H7^~3t1Fs z6acs+`FhxkM!Y0Wn&|XSI)CueEVz!`4P=q0#b#T~2$EO28XkP{AX(6tDjbw#nBn@$ zf4a+v9H_}0tQzbTiMfNph!W3D=IQP|Qz#(G5N>vVD}T$`)QZ@l8`DsMt93V*6Q0v( z*|p-*P3-6`X~Q5zBNTyN z=7V6@jTi(FhcOWd3AYjq(4ojvpbgcHGtm!`_k-y=g@bYW5Ak;+@osv(EH-`gvh|qh z)a8Qs%vv;AbW`3pS&S8r_;u7KsX(3*96@*6=T!6iS3Az9=tGb7v_(_ngBt{BN>StX zoZ2FUmm@;RE@^mRtn^F>K9f1DLW4$Uk`44#pNCt>yW^KC&uT%+27Zo z*Q}l^Cr#KPu!`v}(qwTzeyb+a!1~%|gPp_u|NeoQfgU=Er z4av`?=u+R7OlwVcvpA|f9cS(oWG;rTo|9Jie&cvy~#mVP>Ir}e^* z0|oRN$YTL;QGrKZpY5kBX+a^?*;;B|D9<=9G}1e3-XL04olM1_ykSs#xOdLmi~?(MmZxzR zTCG8Z&53j{dcf(@(#Q8rmJKe=WqQhmn-9XJhr#<1GP(qAhJ zEo>JBacCF)-puqNj%$0@4-ED7{ zx}k#SDsJN=i(izOa}L$ZU@XeC7H0-N$HE@7AFu&YkZEjHMb7G~vQoD9_5RSLvRhZ` z{mnm=^cD&&3=){d%xPN_h9Yw?P+>^>$wO7Q#}0ji zlK_)LBmrQRbuwuFk>;9B`2r6VwvBABZAS-Kx`4QG*;**t zpYwEy7`b1QKyGP3lPI2sClP4|mHwx?02fZtwTx}T-tQclrI?|%$WoCKO}Bx0K9Fz- z6ND`}ld%CDd(7F0F3SR|bw4x9mL?q=AN{h5mF`hKMLbz%YX}+7HgA}MzaZUn#-Yx5 zzzPtgwb*v8`gaegf>QxsAt4Y1JgA^=j@y!EZ2MYO<$Tt}qR{oie1Q0i^x+<)6dW~iIb|6o;XhD_-(aqT7{m>&G9N!ER-$+eg z-IJZV1?s@gmiA^x6b>}fLM^dGK{X^362R}f zrNF3nMHF$*0ty;-ZfC(^sHB^n6{$Y^OX(9Bj!zzeTsr<}dQTd66_3p~6YiM|5sUn5 zlY&xb5Mn8M;-QFR>U(6`BQYE)Lp~!98MPQp;yCs4?15<$wTxy<<~KZC1yPOW*uA1Q zOa9^s+m)c_kRBL6l1L9MuAbLf?a-%syG6Q_%Z`V`Q&#BRTgtLyWFs+ivw5LtaSuJY zi(?tuKVfV0cBJGkQ+haP)cO5hOe~gc8&u}%B3-JyoCBV@TgSetC&S71<3%T76@AH! zPg4&c7vp5KKC>b^Nd`z44sej^aRbX+Bu-LpdJ16M{-z7GQ{AEyKE&*Q3cGh5> zgj10EF#P%1)I4A}yWr1dE1G%p`DvbwaWy;32M|X&hG)_+I)ZUQbFySr5|g*D*b(B{ z$a+8v@3Gn>rXkDMA*?1@d`WO>+h$=IakN7^I6coH$Y0I zR-C(-J2vC=l+uip-73d&=G$Pxc+*dcGJyvh-RD#(c3oZmr72CX_oJY(fXP;~5$iA4)Y&qJtsXa)!b~ zQ7u(#>2MiGLdVCr9g7tO`@W3S11a|Lhj!!gmNg-n8Bt8{AxmBX&h64jc=1^x0+y3KJ2M z5wwAvwNd6#&TNn@L+4Q9sqShOGx@($CrWXpdGYHv>2vaGXk#SVPuyp_ptZUgljt7R z8rrIzHBm$&f@~7nPhH%Z+i>cvumw$(B{eRQHOaDLncM;-VY%=5plOd@QT7fL<@m=^cW+QHFJ$9j%k~huz zsa-|vOB!lVAJkZbIPqQwV?j8-aei;$=fGt_0SfsC%w8%qi~4`0F{!pyv0%Ru-z%j5 zU^neVmM>l)Y6VxP5L60F-5de)<4I0MpU)$2peRru|1}ho8?#ThGIo|u11lFMDzG*c zJi4Sf#T-|rY(Q;3l;p+K*juU!ao7}&>ng55KPIYoagJudOt4ie{WSL>@Gfiubc46c zLzs^6RfyN`9rA_nm07Y$@F^Z2{!IIcxXS~V8uA4>g|gR;J_h@Ed-H?>v#v?(Rne*l zjSbaATiQkC`$VF#rwG%>n4a5OM|#g&KhXAqv=IzYXkGmxXqO1Ws7`j^FVm(e*UPlB z)`IYkUFTlY!@LNgg43Z3JjTxMQ$&&L=KQ6be60KX8^gDqW}&-Vi>Io`GvY^bAh%aY z%Jz#EI4M{uOE0O&y67eH=3DlxD~Ss^N7XI1us$iLvb7bgD~Bn}UdZctq-oH&YjoeB*S z#qD;*giqtQDnLV7kdmDlEC6JC4&z5_@Wk7@hl0e2`ZC zA%<;2vJ(GbS^(m|pcZ%LNl;G_SVUZD*g<5P6QCRE;e(|Zr~17Jq%ifbz`-gZG+?D&zmw8#0?)8Guf%?9S7u@^H!aE~eK$h1U)$CLtpm6b3%W?PQ7+ zedxkWbmXSyjy71Npff=ldhED13Zdtc_4y%z7vBpWu{dTXXT&x>BZI_s&`vyttnbP< z$hCQD$n^(1ZM-=xH4XNs%Q$dkkB!h<@^GeOMr|{Aw_y$xkElSS@FZ@t^rIJCQ;LaZ zw#KdLTnGAhFD;_yRPk$lWFduq{IC>t6vTZ>FD2~OQm<-og&D=h&Z@8LqS>p7BgM0r z)o8VY$+dFkg|F`D>d!_G7ZoaQZZA!56a4Pa?+BejN@k>GO8b9L_aXVg#+! z$PVq8_y`TtXuBt)?#bhh;T=+~U-A+|jj1g!tTnP&PQ4s9j+bhW?@81r*I@s%CI4%v zQST7uTpWvH5zDPXckQ?zg7-fXmCW*+woGVil)@ck@(T_B-3G zvZM9Mu6ojDj{5d35Te&P{gB)XRkp#9{^1?KHdm#yU!xPGd|zsM7?7&nbt(Mw$XJ6Zv%sU=Ed+OJPAgH<<4#xz%UG$T zJoQGIgocavDHoL1u%OtCqgvWFhp=ERUjd12Qao3>JmZUPVkC=`S7aq@jL1~_J@i2y za)*O=&devrG!ZgQ2^nxz$Oub>UK)E7QJbsHgR%%V-j#~klmyAz`3RnFE9Y~y z7K~<|$B}Zw4dBpUFQ*EWIibr0eI^1EHW8N6O zM{jvD-(8k|LL#+ssRi;*v=T~p%|WgSxN-#S!f4Y!OVo8tmUVhmCjaC)7cs+Yyf^jF zPomQI`?hsZmW;a5P4tfK ze9}PTMaalwcD8t3RDA8HlNuSdBlD)S2GJu-b_RLGZ^NsnTxqpaDliVtb&y%W1X|D= z3DnX3&ToZjWg?!^K|HX`7$Mo$A=#IGE~R#hrrm^hz&HMgtgRj%pX6taVm5uE)`y^< z)sicvCT1G=wd&OC)k5PES4{30HI*@GD)#xO#*-*nyB@ox4EhZe-~brFX!0o@!T@UJyuh zgO@xmfiHAzeynHAD#*)!RMT`>N}01)jJJMV=dQptyJ_$&hC7?#;2rH37859eGZ`HL z2#4xcLc45QkJJRMJXPe*qJt>`*#1~_uxHo}S^9Uo(8sM^zN(@YPaOvNq^Mvr3wiqE zJUCO%UhH$9Q? z#9Hgyd=>bImn06ep@1Lm_4YllZQOyf&n3}m!C+giHfe=<=Tz zAyf7L3e{T{ktoDLHtw+jFBo7xXKixt(pc{XbAjO?PkF4ejLzL3ro%iBcU8x_hE@z0 z3!P0P$7|d zUTJ}2n&v;a73?yiUGTUxe3=mb-cR+1k1-a?!f-W0oO!WiJ(jjhJ(#j4VtIGLXW&x1?DEIY98ODtMJK1j1gQFYDz+;$68gl+8&E^ zZq%g-w7tz?MjR{RE4aYX4jQO4oc}$f#Rs@&wr6%Do6Nt^^!LD0#9tYE zx9XWo+EZz?@UODOeJ}ejYCT*kB+>wEc!FRCAQB!AF)su1P?hxJgFC$&hqsQ_?nN|qPH6=Tb;cF8DzXA3t4Vu3f_nE;hOO~pp;0ol~4Pz z%W^U0FovSQ{zI->CsV&Fd7DyOq=KZp_2Vw7PUM6%c5~_+0VTWOrQvz!W3xW1&UAWs z^Tn(+N(DJk5fj#afRZw_|AgJwuJuH6QDjlEJZI;ZLxzJ!>388@u!rAEbi$&{fHu)v zwB7K+1ty_LRj(Gyhq@gKuRqy0arL7!8;?ePw+C@>qHcxiel?p;}3(3^0a|uDx%tC=4@k zJ3u%n_5uUMw8F#{g5$y;`e{Copjul02)5{a+scy8XeYOY2j+ht&4e=-g{4+kz1p)5 zk^3gR66JND-S{5-gox&}(fO{zq<$r~b{V24nepR0gT?NTzlmez)LiUe2}SfL(JEdd z2i{>`!mS_uN(vXG1JJ|E=mQnL^kj;#&2{^SztMhZo93c|DVj1nPs_*yQ;>WJ3nz|neT-q8H+3(BorM->_r)j0o|*WPbWh2>%0^dR5-Y2HCs?JF~=$77Ux~`I;%9C zUwW{-}C!v3x$3Vi@EiGS2_>PA%e=w}pb`7Y!I=1*&npMeGJ%5;T&$*ReGqb(FH zptUf|-xF3cFqerS4S-`D(WieP{06RBLx=V;Rs)JS$b)7p=hrLl44`p3t(`d$0iqq4 zEY|fU1=i9T)E&gw$PU41=HfLDbK^w~DLwH^^OPdr;j5&NUv5aCi_WS|6k~z!BS1Zh z(ZC4C-djhAf`BY#0POZFzwXd_@QF64)oER_VBdr!9h3YlK$V(kN|pNBA?%e3Rk4rZ zV*|uC@s8&~aRlpvRYK=2ed}%MlC|~J2cIQLHgJLX!Ff{cF}MP;qGa>vt2!*cV85~g zkvvoVX(PR)EX$JO_O-k#@5%py3MbXm3xz=uzZrUvqQDIWL8im?>RK(_%+AVd1F5(p z5LgL+^R>=~QKt>v;uZUR@+%+z)#Oa}mCM?eRjC}kB8B4I|B#$| zcknY4@%_<2!#X(Tc}L1a3c)lQ4|V|E_oi6IIsOy!%&O)xXvfyLak1y`aUH1!cQIWo z{)37$1B0dv;B1aWqeRgNDLsk4qP@2btD;?$$6#^nBZ#P~J=YlTBTH?}T&rtyV}a75 zDL3p1PHHz#G^ig9y_KoV4vUW?s!T2K1Te;=q!GoC?SaarT(@?JX@ivVkz(Ev6M_Ex zmVsjBBw+{>`+XG8rU+uNq>e#Fa~v6E#~rK6Y_ps9(J?3jMjA?Yx=6~3Zh?Lt&$R5u zxF_-&i-qFMEkU-#oM?ugnJ1(yR{{4;q)o7(Ge;}R_N*8Um2D6yw7)%{FPiOlaGmLV z=K5*PsL%AviP|r0N$_NLa$hP29}f+xScloC41WF44~nrd)jILwp*DfYP&qABoL_6F zF<_zCc&NIb3I(;H6;O1z9F46|wDvi4vD?+AXZgoui*2T6z>crQq%UTVY=xZP9fu{j zP34$Tb}{AAsY!YVW%#n>t#2eH;6q3&*;PbB0s~Y;QoM#MlD|<2^ZZ#tmA<*4T`Jj( z*!O|(g{Woce&Wth3zcJSTw!Hei&V5Sb1Rc1&urKXEuA}!)$pfIB%~aWxY`Hl%^s70 zF`GeAL!G5IO3@#d5xGqPoFz#ngOd*s=Up7}ADm&^GNj}W>5UGMhyAu`KS=mi$(NSwz^fM6gbAyKMBQ!_!r4GyGAQ5HLpi`3m| zgT#$Ql9w(gMaAX+2#-=aS5RC=j_BQVRN__%CaZnQB@ZdxN@wq93-NG3#>6~{fdt*HxF&j6N@UQ0nX4S;}xsGB8dmcnd}zkrFe9n-wFGQm$yUs0f-! z$2&!vRE#7g0qHk(jKCgUf3w_Cl;g>2`r&mhcKlk$CfgCFvFOTQsDBuTlSx8}i4GGo zi)ediIy6~ae>Tc6sh%Ozh(y_Fa6+~y)@4CHBc`e`9brgKVFeY6O!`gym>-DSM4S5s za^{WR>qEXjhK1K`T0%Tr&bxYbu0RNdG&hg?am}@D$O=j7ENCMvO=VFiTfJCfgoj9v0NdZG= zgC+r~+_bL1)@gr2vc`}>EL1xamVRrlUhGgvWmK(Ha&0L=b1Z=b{e_pM<#zy;S!ENe z<&(HGSx;8cIXI9Xx61LKUl_1i@8yQwR8OSz((%q%s#CDZ)|Q^+k04=*&8>e7q`^R5 zmgfm#tV31mF7s8RjDI?#1Rc$(N3uo^x~(S)*tP zZm9gq|79u8_S^zdimV=J8z{!^(tgv98`n?-*<)35n4x^~E(#5$+WXqxhe`qh%OOkn ziwZGes+<~I9xGs5pSS2nqCmA9M-AnKtQIV;5rhZ^zgAdmqu zYq=pl8l({^22ML@hO3M5pzR1!VY&6dMbr}3OaF&25t95-7?}n*78T8Iw;;vkn`hCF z%x32?(Rb_B^nTn^HCfFYK#C23#mN?eE_tEbO6%)H`fi=~QSkF*;%vTIa)w>eV$Jg- z=<6Z=t?tduvr?yFca3bI`2^b~NP7vjRe62Ft2Xd%X)Rw(y{z^l{KaZL9?I&jQpL_W zTU@aDMdN2Xhm$!snwa&SEd=+!a}w>_Kc^Fi@;PpxHPqo8wXM3Z7OL5=nmev<<{D11 zw`5DS+hIuL>&s2A19adyy&5;nHs4tdy9IGs+Tr#7{e_+s|>Xn@gDm;`jEbY`Xgp?x46BO0m-;*b0+u8f4gc+EUVaby~;jtHqiS63Z zE%^VCAAslNY;O@GE)Q-IEASlZ5koa_km7vx1JVxw+N;U1X~*L5CRF^TX{pJj6y998 zA4afHLou7iv(XXN^?tN{@akPz_Jufebua@xE;n#e7RNR1pvn%omXp}DQP;ZLG~4BY zXp)n$B=0eSpaEiWM+V5)$L&yX@H`pM1n1hsNLhEEPfbOicU{~`JAjN>H{Q)!WG3f> zcSZZ>I3ke?TsHR{CS(I!(F%Stv;PA)PH3Br|hO^I1)bzHMJ`4cSDvJj1}4+ zx9*V7lTD5ui*aqt*p!9je-61B&^Q*soGUUt=~}#Jdj;pk_OYSA-Q8^KzF%BY1Wp3Z zI)8kFcoMMS!I8~DPL7lUucPf=1GadzpaW>{L01FA$)FXpjBSX2HH55@XaSt&2VjD1P|;x2;qQ{`)T>C<~CSBYwWgfoSYy?K$kc@;k%`k zZPbiQ-pfC)g;Cq9H`vJtPT1itMoV(o@_=DB7f}*Z|6d2puV>>(?|9SX3K+vhw zIz7*^Y`N*}753|l?8)%y;Z?2IWT06(%zBRP8m7C7(yqEC{X_5jQFXI$W0QjZ+mE}A z7Bb}ZL-pGIOYY<_tGiYiC+G7;52}RC!#y|;l?|&)ZrZXVr;l99Xkq7F)Rrdf)2?-| zt#WP0O>5Vky<*b^wyu1cZYK<}A|vIwZKz&cmv^)Fg^m~7QLk`Lt0KKA;b>L>+x5M= zsO4`qdpj7?P@1`CjF|PJobg2k*OgdJ-0UP;??t^x%VlwTWDu zKUsvhUZ<8K-0rirvopQmJA=Ia*F!m-{oL+T#4VVIGbMm#rFEJ&4eZF4e?+c}rmZkk z3+rp&pBzcm(6+J2b0&JuczgN(?S9Xw5wl3z)0vRcN%A60)5xoWvl(Ld?VGW|Sozlh z%&j;e_3w63e?MRUcmINi4)tFxOfjoq>hfI5cURxzFyl%i4(+SFp}q*;>~?jkUD$Td zXDJcRR*1R5d+VHOgif8$|9Vf8kM@c$6@GL3ynn9ySPEhHx<-}o5?241dKFs9$HZ)E zk2^EY8)y=#5LyIG5_d9V=I_Fibr#P#dC6<~XYf_6=ZWpSA>JGQuW=Bki9hgG z7g5?ENZ?l^j&H8EhBY-0y<%2Yz-7&^$&*`zyuQS!NZgl=o~l1~VL?L~Ldg+` z#c-Ac$WV9*{R9YKAdw=`6L65GJ_tpqYV3`ALHq>1YjbqF3df}2K>^eK7Z&im>1bg$1-ILFdbJ=ju@nz{C;-wEP)6k93#Wa6--TJNL`bkMIM z%`j?*7;X`5x1WG|i(FiLUT~{A3pa{C-0f`wSB)fJ);f^Tu5C^Xn6Owq&)Wz&EQ7|b zP2jeaAh*)fVfX~iz6}AL!kOTg!14oPBT!*GGiJThWo%EO1BUa2$o4Cb5f#j7ghNtR ziDj-Nku$rDF}C@pDW)Gg(fYi{dcu>c10BUXdg>8Fz45jFwZ7)<&d~Ny2sWc$UY}d4 z0YeE!w#@|kEX0X8EEu5XFgzKnNZ$EjjNs+ep5}q>cOB0VGneWdko^*i|4#f5NkjHE zvK~0y_bl%Ih)%nK2SN`a6K|81G(;n^KP1BSJd+~O>=DQ6!6~n@lenPL;fjvYVUIX-)gWXB$=kCNpYx+A;gGPB38(DMaqyPtn%{+ zIfg1IJ!p8doO8u$r`)gN9EHIGG06_7 zS6zuu=@ks)oQ#Wss! z@|bUn)SQ4naImK4U90yL;}98fmPocP9}h58Bu(efE1*DOk+2 zCY?x`0ED~g{OfD{MEH%59Yy%}m}!VJktaddIHdLe4wQ?`5^a>f#3(GoBxNE`nD;%Y_1{uM!I3m6?f(!!v071CcXj_8ns9NaCbn zp)4=*`K5j+GxO_MfPpJBC%2d(VWJO!m9+|kB+nYIGZFcoeT7h_>#EBbkHhaf{AJxK zVfZ6CF(m1ly)$a`O!x0n%l1ZBksK=(t>ZK<%9Wi)R{%eoj0p{>okwSbDbo?X2;U3- zJ^*LO*ozpFC-mQv_q+oq7d{{%17kQT^W zG{B6lIK~7n82#61Er{;d%)1ACeO5(@AaSUTpj~lT98gSnHl=O zNL=jXHa}4{)*|p_tMDL^-m+vsLm`nu_lZOp^<;wu8)%$BKv(zeZJZ#fN(%rNvh_9lPjk4tYP5_tk8$^nEz=di(Qq1J zBY$TrziA9;v=_|3i^ZfD%$Z@q98n66z1&o>5zLAIePIv?pw6tj-&r*Z$cE%O`TGFj z=TtnXKhpoK0IyIy1V#w;+W^iP8_Rm3CZm8ATg&<_m?}#&$JEREevmL^kYbL^VR3ZBYrq@3ESnKGfU=u0_&~ z^Pcy~PGaz(__QY!NL7|J49or6m}~$Z0(?606M8tXn3MBO1G2mz*K%w{N;dKcx zPbbm@#s$U|WC!KMd|Ev;w3p`VUSekX8km?UbQ)k`Aye<4n5Z-DnV29fPHga9e2&#w zg&lXZW0jcpNlzcs-a9;0;XS)%v$A@89h{hGX>IkU78HxzIjndO{m>{~F0rMW%baG7 zB+~~s)&+}=oSZ(3i5x7{80I3&fO2xp8tj;31a0S(9sKzZnOscY?PGPnT;0UPg!uY; zMrwHIAPOW>VU&3uau_}$FJY_)Xs8g(C|u}~7a}p*GF!b4FmGO9b>>zFk;r&7DBunL zLJ|(Fq0B2V%rEq8%7iSYU>yA9=zp-C$(yGCt`#S_zX5eIm1j#U#@~T~L6vbFK={|J z#Cn*Cn3&_?*tG#(0@0`Z1!zpaV*GT^Pa2sCE~J(On!PFvD2*@S^>vsvKX!dD{9=Z` zWJ{TdR%YB*qi--QEPc_v|1J|N(Yl=x4sM_T<=NAh`3M5fn67ylz~t|ePvTx*kGMwO zA@ltE07#xYBHm}w{TxJOO`aXHei%J8PR|ewE33uf#fV=VfPPKyotVg@ne$9i`AsKt z;6{klNIDl{Ah-mHuLuqpa(^2|e2G*D&%$zNAV^Ip8bBGh7Laj*%11wm!USr9fd*DH z5X?ArUz*ew{W&XjLV&nWqAB=iV!{wS{aKvIxD@Fdu@SlEU@j0+{bzJb>xw=bU?l>q zMMl?TkkK~w_63wZL_PT;!9K$ITkBM3+F@oVr?fkXaQ#%Mo#trGTbxYg3u<4hRVwNiS|DgV;tgO_a3><- z5H&8|T{^oX7{6_|i$nLwLXZSPdziz1>N1c?qS<*A#qZYSLam+rW7M_33bLZ_CBKry zptlx~i<9vwLCpYy0=hA927h9p(ltmW(r_7CeWO{+(NuaslT}jT?A<1*8f^s;WcIBI zQir$r64*f)1ZDGR3w;jqZ*g{^#~@_wkbjUURGHMp>@j4b1fNrzLHu=g3aY*3ri5Qf z?X^)5$PkQ0wFtxzNI=$p<`MraVYQVU=pE}DD-NcQNtQk$Lbk?FIg$hy@C3<&`%gOs zYg-(0jKXsQ?3JmHkbanU2N_C6X7qEod;N%R6XiwzdyQ6n1))5@m{BJ-3yve{ROlv! z;l77S+V3k4YrO3?Q#hN--T8Zrs<(OuTK{?;^>5;MUl=mUtam9T@L5=GBAuyU(dp#N`b3WC z6mLkvZNzU627DT7#6$$;aAeTUP*L~H(Fx8vO!W^3B2L6%eWL0gwt*@Kh1#(Imu2`U z3nb|VMLt+r_8+o*di0y5Nb$iC9IyUHG0g1s4Kt{cb+N(0BFRH{SO$>@mh||TTIs)Dy84oHL!TysVG08=vMLrAtGUNH(nnx0u ztDIxO?bPCmpZ|ev`0MpIheQ*bEhoR^wXm97sYja2uZ6JqxVO+#_-v9%zC*DSsDZ=% zxd?J&L-%jfBD}$fMx>brHR1o`zJIh+6H0?=Vzy*75R(efxuSjihc5dJ!%2HSW1=EQ z4MP<6Bx3dSL<*5Qz45;oaos&k0Re@GB{lYAH*u>JcB<31O~xR?#6?wZO)-`)g#cbA zb4`78jlx`@jJ&79kk}G+0fL%e9HdGy95E5w%d_@>u&7|K%54>xOk$_o8V}o`msfok z4kXQa)Q%`H^^`Z88q>@FCx{3VzL|@Mt7~5QV4h{WLf%s;iO1A!oz{^IkRSHI+yBGT z7axwrm0WqQ!q1gbS@`L1wpa`i?3y8!X;klR zNx~nw7!ql;d66VoVjw_tJ~#lG3gFsmO7ix2ySpoOtItPQd+#?H&-eRzHZ&z74fZF) zpF(s=lsF9r7P9Qe^;TeQRK+6CdYq(@NajSilYjeOYk|d1yNHiS*Mwa4%ao4@E_{3P$ed|KG-@Lff29mMEkOqa*G zXN%&vc&L>2xcjq66Yy7>Sk}|ci<;i-a(BzT~be;3ynFfnmt zmq0?teH}jl>l=MfnX~^hBJnSa2&hee%Tid&MeNs#-=NYk^H}2J9ahH`pc@q1O&lcn zURzncuHHlD7#TwfiPkF}y%OtrV~?rw(obPFX{z5$7|KQ6=DLLnuVO+^)XopS@_ax# zP~fJuAixfvYs9RirfgxTYHK4xne#p{F9qf;YwuE;rb)IapH3TT1S)~AAjSY#GuMau zE28gMAn1JdpcDVa<>!hZRjm_cgFD(E7*L_Zl{M%;p#klL)b>x{Q>yhL;f4lYMYQEb zgy2ufto+nK1;|3Se>}IJkuqrnVUUF{*TA{=Cg2FUjC`g6vr2q^GVC|_2}RJDnZr)rHZpPmcQ!LcztJ-P>;8Um%>7aZH z36qi_kfE64HW(8@HNx&al0yIpx!@=^%Q%E^_D+qMW$2#s-+n;qzE%-#fb_ZlU?R0( zg24|$(*ckZmx4XAxG3RF%pxd9vr1rAQ33)=^wW8p2(lyeKH4#7i9fD?TuFcW-vt25 zcr^5+{J1=T5o14a0OFA``(pRo|Cp!{fQeeUjg4xrVk~db$iadfH$)2W!S;RG4*>Ob z-R0Gpw8<()P2ooo$KglmEas6-sED%jgeuW2p^v(rpj+*!JYGq%p==WzTFHXK&Ru4a z1H%Zl>%=7VWylAG`^O9hj>8Gut&Cc*%i;!-#MYGak%bFJa-xO5w*O_S##wP}q2=m) zzHr%jeQYYY@b3O%jmr%)67G+|cfL{Z9gFTVq_e#Gk1UDOuzD=`6Qy6m-|ch;L?WULEs0Hq-T2 z;~q}qoci)yYw-)o+Na(WW3#W8jbB^IYsywU9yXNCU1lG)nw@*N0Ir~m%Y{B^K)S=8 z*@D-X?pNQOzTpDysrAOhzX_+?=QaRQUAWrX?cGX|m4d-E?{au;HF4gr#9#OSvteC6 z-F~z~i?zt2-MvCTUZ{Tk+sLNs)0RH_6fN5OT~2bND%hh>li}eRyZ9yCy)8`sX1_~8 z&h;;k#!)Am1wZr6L~~uLbyuRK=Ut`CrE~TbSvTuj-ibB)is_NwP3f!kfk_hWgMw07 z`%4G=r;E&W*^2$#_B{q23hbtqAzK`D@dM&1tE}Vs^4hJg{4hmolHYpQ z5PtxMLxJdb0^@cOeGA-^6$5j#eztFR6s>*4y8W8E=o2?wy|DAS`wpFdQUf z9St5Eqqe(*^QQ}`iV!Hv3uS4aE!dIZR0uuI_%fWf3K)t*F(;EEh1=5G_v3Zvov+Qk z5I@6I@l>OK*h3FlShjd*@v5-YM0Qlvn*7>6oJd>_Viu}NYoJIohwu$Hsk*FlD|D(< zBNgYanofp9I#sDgS;u80o2bv};>j0eKq ziXh3jy$7=D1;U*N-jvM%^{k?oXl}yL>=Vsp*PC+(yoKgk3ets{9r@$FlLo@mdJ>L4 zO8Eeb`FKrCNWsW#>w5y5iz+Yfy`ua|=`D_5*TIVEb%^o#D@8H%Z}3bkB}<#`%W&7VHf@S z8uN=O{df|lsMW>L5=+l6+4Kdys^fdZyedZlXRp9Zm9r>fnB~(@+gOjp>5hdLv=NAD z&YN>%v;A_Xw*77SbnPigPk7sdeoyVaogCjj^Bnep+Q~xJ#czNs0cD6ib$2?{XfA&? z;iPzX%(h;|515knYey2&R%%(Q5xJr83cay;Ly1|H?05; zl;tm)Gb(|cku8##&s;3Fa96RbD2TfxTEEzWXJImxeB6`na8k^M$HZ;+T;e_FQrdaUtpy1!Cm zJE9JVws3~bB!CQx2U%N=`Vmr-p=z*JPE^1ZbW5UmkY-jPq zGQ+9Dix?$TPX7cL(n+WU>H5vCpAHO61r@zt_`JwP=Md`Vd6+75i`VT3yvSLiOytZ* z=aCS2Z;foEsOH#gO0u=8)1S&qUqZ*pdXhSaa?`s^GPjN;c4?@muaG*EXdwK`Nm++o z;=GM-$MUjUnhFxQEA*sQ_jQfeBb zmV380{O&g(dPb~|h)j&&13&m*P}V zI}tkAx`XQ_UM6EF$RVBAXLKv(;6k(;wAD;w+2XmmzNM7){CHCONIyY2lx5@ot#s$c z$~tEPK74`MzEF=S_A^z|BtwXHKVHm<6Rw~sNhzTK#tBlynwzvI+~g<$%Q0oM%spCg za7bNSzLy~TG^@xt6l^0H-m#J&VA$o?5L1pxL};bQ+9!sp;X6m8B@&Ct2wo1U2P-li zMi}ji`z*v7J(ONoUnV#t`6B>puh>D&EO8a~c*8B9xTl3EB#mXBxSoqCiuU2q_??^; ztx-2}6-HB|B~DXl<8prCd7+QtGXWYzS!Ld?Yf%SOAk^|fUuCV3&kpBW`t zM{i16kTe=ZV}$8|(gEy5-CY@)M^&R=?YW&&BoaYY`hB%yPE8{C5AUh!dEa z-i}fK4Y&i_M>E1#7^aTc#)(lM=4Ke7p8nwm(I=K}(7PR6OBUobX%`X2*v*Aljbzxj zgKFU#3`}eXv`wx~2q_FT}lrufW74p}z%1Anrj^szEa4O;0Om5D-Fv~PU?y^5q;F3-6M%?O6r4ha6iCWbDKciGBU;CIT9iz| zY^GU}W_%Fq%J|m5*tNA%{(q)bJ`i!j^$;=CrZAy4kp4|5v+26l4;0Qa80mFu`8N*? z3mGV|%PkciEnyb_Dl{e;f2zA}6*MzZ?$?w!-V)lj3AAs+C+{!R zSIfw`{o!;mwZ~jJ^I#yyp|`-~_%C5f-@-#B-SfG-n2LE5eXM-mx_3_MdKJnQyVjUc zY+a0VbZ=J;~Z9x`j+Q>Ed7>A%HJkB8hG5@AZy9D9F;HiIhNEur-T!#vIC_++ zr#mZp@8u&*BA@v?DfBaFHp@S2x{D-9jB*M|G-%fA*-ycP z1vE?n=U+`jO(aN}?S>?!3?4oGT_p^L%vNgl`|sC|Nv zkQ&2$`3{!+G-HTfN-ad_cP%5M0C5EU9q9zf2*=0^_f`Sxk5)~1|G31V?x(}~F;}omlnD-;R;QH~{2W*~B z1zY_25X+|S(!WFx#D?tuV#kB?o?rtaPWc$EA}Chyt2RVpdy>*0G(Gq~n*#dRtA$Cr z_gcec?WR82hkggPhI4RX0?$N3x+c5^+d}jEoK424c-O@uzC8y}eEY8^nM6jmX=zfJ z!l>IF9W|o_3~`~Hp~_Y<*QoJ*mbKlweYE9#RF49XTuVmm+|F(qPRsq03-zj%^roH{ zjhMc;Tk+|?zRo{19r4EF*as*5|m2jdRaaDt1blzyG z=0l;a?Du{-l#?+tVYnjB6j$VA5ov=l5%ciiZ;_B7^sRwmqdxx@MzG~2FAtbeyR;a# zEtq$Q*$_(~EunU$An$#67N(BS<+;MgtW3zdXrWwuQ`d@j!=Gr>;aa2Qs*8C+s4~qV zvJ~+%tceX6#5vN!3LYse4JsDL&(6!Vabkb$D|g(DGCgKuA&5NXy4m2uN_aDYCU-K| zg`yH~Ln)+@q~0H{humw54_e{b*hbm{&3h}+&KhZIo5Dz=k+X!G>khsE<|r^k$TWs4 z9rTn5%U}W)=X@;qu_0Dnu6{6h3gqB4CK57PLcLWi0*L zR%Bs&x(NTW+_DM4P5eY*84gJWn)rcdg1&pgZtZZ~>SsDg4*3_vAW;}Z1qFGS98zP? zs(B=5WD}86zsZwUzscbL3kvqt<@B(PpUc%K3&&vdhz#N&r~V$k;sU%1{69`LzrhxA za@|!TCh8k(1Kf?-Lbkz~a8dnW(&1ZfgiM965`Wp6g4&}aAhyXts~@=V;vfx`_%A0N zcWnzu?RzGOuqRM8m`kmw5;2MeAw|(ak2oH=jP7)Dd%Zrmz;4_k!QKuj*R6kiLoHnX zH`I1M(_kyu@%?X$7(|bcOFe)#k~XWP{7GLySy3YTH^Pb=uB%#pUf1hY1Xruo7k`uU z)xG)s^V!C|O{D(wdqBXC-P=GcSOd5aLM@5VdJ|$sF&Ii2vcc3VIubh5R46CQzMG%& zrXx(MjN!ZTE{t!AOJ2)opV1-dY20`P#h}K+f57rhGiEz1v()Q zK&1SKCTJtk9s+lZFRxrP`7lU*&ClFbBQ2lu&!mWPMUx+{6K7`bkgu%QduoXOE|mu! z-5lL6c%_uOn8S``+8w=~&W??5-m;}n?DCmYx2*+~qGm5bb^to|ia|@C3WQ3{vrIL! z{q?5riQhd3L9NaMHz8?2nOVUWViAac)H&s63K-c(P2!s>^d0XWG0E;S69b&q?N&Fh z+H;M4F}^bE<+dv??=Ac&5@IV_L$cP^v``R+8p*fy4ss0Y8GgbYnB_efhmfv?6~Tvv z-)v(e;1(ih)~wr%FTFmXD(#jU^=llQlk3{8kmA>TOP3cMhn{sxufozc65)Q>M3yo9 zk8^2Us#nhio#e#p2B(I#|LE&u4p)CxL3{zlr0V}Q8!i98Oz&T+Hy z&U*z*sClSpO7wS#}}oPLs(up3nd`E&H!!v{{NEkpJBf(tjKB&K>KFiJ$9%{fN(Zl)=1S zLxUW`;2>)}B{4Ce!nAHJzW}*)v%}4I6h58q-(db5xt02;pJs4=ZRO=x5Mh1H(5npU zS-@Jdd@tID$GgSLi+z{(%TnkPs;;vafu$Cw@8_GdRc`~fx+{?$vwfY7)Be(1{?!&` zjrk^Z$`vg;hkUN_nX)z}8zKD5qA>Fe5-ahZediQ^L@}h_@S$=lzkT2i#2da9Md^Gh z1!zNY^pgDHhG|bX_b;N_#5l3=&nmToAJ|eban3!25P}y8GxV8xP!bSoG&@w1#YE&V zLY(Gx@0Y&!2!gOxB%EM0IWyy&aV7f@sLHUl1&BQm!e3sg193>1vaJ`Jwp=o9FCFOB zWLy2#$2>(^TAHZ|LkCBr35%zrwFuCsn?N|vW*&nn_D=<*ONcFZ0odlv}pW%S{U*!Ef=7be2nyA#abNV+X4XbeZ3 z{)_=MR`;nj6=NkQNv2eA_Nh2Er3&%L*o7^UbED*coieG*69*)P#=)ODk{)7-Sl-*H zSIiQd5XxI1?bG*4L^+sHQVC$pGUvcVOsdc@D*lcSNrzvL{arHAZ9eEu^As@p?%s~` z%Q%K;l1(?9;?Nq%8IJ3sV7g?F@RiBWEQFK0%{^rl!8nEKkSGZ_U$_1Gb4u?sD1Zni zWbO!zP6HGb8wrKvYUG)cSTa^dZ5{D1bc=11@n#t?!B^1d5lOGTVHc`ltE#9 zVInL@0RG{|PI+9I7aPzc;xVEu7@ra+xD#UOd#!#BUj z5z8}q$Q53K^+0dcLT#Oz#PKmNt>5nUJrxcrGuPakO;t8%%nm?iAU8l;0ETu3?Qfcxq|dUOIKo@r2$)n3tr(ZMAs zD<)R9z)08H8WnrA1R#KsmyCto+c^9E)3m`;5t2&VVWv8-5{-w!BGdxAez+z zOw5rWy~EPBhEzK<)(9eS4w(~jz@d^^0KPx977_6DWQ%C+uh$Ru2oGj@4v-dHI;&Yn*s1{zVlL-|DcvgB2=99Fq}iTx*O_2s~5VO zPE_vWi3x~^vr}w*D46mxB83qg{l&M#r9o>#9-7|R7WH5{F0vZ@|^L#9hS*TBimt1Fdi{G<7JqxS2AJ@N_D9ufU411Rcs7&35)Gn`| z>%|No;ewCY?oGnu9sDGlnad?O?{!5c{Hu*5`}BtEQqvrcJK26zc`74>ODG}ze$~6M zN&BrqaN7`&e+LDog&5C5NE{PSEYka7TNIgINu0KBF2ge6^j;_Lj=#`P8XI=7OU;Jfw3 zZ8D*h-(P_hUg&#dQ-j=fhxc_|oUOujXI$) z`@DQH;d@BNZ00E!s{9cTSFJXV+V||N^cGQ?GIGO-;4m2xS&2mH%zg)?TrzhiTM)T#kyY1Oj3}dGvFaB9)n$$DjPp zImyWC9~Aa%_&Di}KBYP29B&Sgr75~Vt2C=e6< zGVeq$1*uj$D;>&>Zckn72?8D-^x<1+XO@T7+u8>gRkX7Y?y*#2J)B%I6=|`R(NMX##3&oWM$qnc?xg;6L&YqM5A#= zW516$rJroTI1ye0iWMlb1p}glM>GTVf}#L6-#%i3AfyFL`ZXv-^&UN*2rIraDTb5ac~L-W(sBhikamRCn335s4|9%alZ70M87jSLz3C!)cu>j zCVYxwh`Ijj_7bo(Y8ScSa92mO7wt+gEkew^5fq8eNNbVKRG6YF3>`+K?!_byd1h7* zMp8lBjnyt<*~|!@;H~6zIkU%DlMlHVAY4AE zXv=e(@LvbFYvDZki9e{ZQPedh^ro+zW&xfs6*0)a%g*@w=uZKYM9Dq~)<|ow+>HtJv{wVhh3fXl?et*&PUPx1igVAS}$R^1%&^^rUlT#CG6I>S1hruy!bhJ z7}gl!w~?SskzNxcGS-2HN;ZLf;}w5nBUZ}$Vj2+1hg}8&({xL5`O>Mb^h}6xs-J-` zcVb`UhK%u`*k@Yf*7LxDdq}BhKxeD2j(ng*Q~w6lBNEB998l0tDM{zqr-9MngV#3bg{5^K&p)fizD10 zV&E8m3yE~l5a>FEH#l&@ha#gw8T*$@4aHbh!UX#j-rkhTE?Jo=3&ir#AQ{H=n}E4XL$XKAVuW zp$VF10_0KYXZpzY=^}o!;UbHFQ*yc_SY!@v*adF^!(U0VpLa_ON^6qVnkaW{1pJKz zmnsETSeX>e1Sz$7c3-}nJYV5P#e{vkC zk`MIsJ#LaqIc=|4fE)C zHhXsv+yho03JLiIv?Ot!j~^$B0^6+NZa9-Ca*2J8a!3HL zMhMSOQ~zc8SRNCR`eGp*osa*HmSnnsGOz~6@lT?Tpj@#C8Y z`EV+WMO$uu@d+B7MHe>TdH0da2WNnt%)vEXVAYwRIYW6b13r|vE}R~Sm0Caoxgt^o z&%e7t7fMCq%G>mc0hA%M$n!CT1Z0-MxNGJhmGD`Y-4;X?SZbkFr;T8zImY>j zqcr<%ZwtWOA9Hkp-UnBv;MjK!g{OUm?pk#ZbzMu3`(^p*jY0$m21tIhHh ztp=Li18^u&h$~yWLFcXak4D_t4A?RjN@4`SCjEMuzZtxhekh$c?|>@ws_b#4!?Pg0 zY;zQU=w%gr+O%VPY}F&ELH~Zpb-Ob1D0iTLlJ~UdwhsajFhaO*{FSLE+fR9gUnwd5 zHZ1VaK~SFXn(t zV*2ffNoXb6^mOS+9&i*J8Cp>GRT1TFGQ?9Px>lX?<|25q@#Na+lkMt!=UwOR4HA+X zh^y6Ws{`-xRpJb7TUWXG?(G`vx?+?^E&~@Y@#uK4IRd7Qy$zLbc*D}B*X5IdsW~6W z7%0>j7gxzw-Be19)dUTm?w_ZFMF|B0FWg5;pmG>4RgB$P(v=>3UUQp*a_R5Wz0CWr zn>2IVsfT#9!>>LCCRi0O@)conraXlQ+9W|}lt-%^k&sV9J5M6)1HZ3Ug4n2Ppaq*j z*~ciHwd`~-L05AW^z)JweL*#nFFwLOV?X%ysb`b*2E6JQeYrn--KE+I!Qi`mfMGOp z%dK$uNkl@Ch`~|ZV~PRIjO0%G2ow@$>E(5aL&p0tIn?q$MWAleyZlC#P5I1i0QH`IZG^jAE+=Do%Lc)@-rzaXesmrHi^}yobUUn zYn54b((16lHC#j5%|O12glcRD3xkW~<{3CY++mQjh%(P(;KmktKq-Da6vg$Cv*4>5 z7>L?0tG?{rFtsJ-PxtUfN9%a;JP5I^f9<~w+7Ef_3QkbA zl(7dYT7iGj-&&6um|N<$6*x8w89D}@BPlZd^{EIqc$+|*LoC(0*>8JRtLAx`Jy_k8 zdW6jre^sr=o@idmuSTbo6*W06_EUL?S4(x0NSCci{1DB0KXzQ(0zR2W=)$dLLB>I&_mQ~i1NBwS>#1uwiQny|o-QJ^^ry?43kNTq)4<;xeC`c>j5Q~&%=gJq z>uf@l0-l=q1z-f=I*Id`>V5CW(;Qd#Ay|=rxF#&J1M@|YB zPUh@*5&L`wcB;DT`G&gcBnsxL5JhrWgvr9dMg{CwsD5%0{kO^iLIWgI7%`Jk=n8>; zQl;%iT{}if_w@xIz5y?BU7&#|UN3R$hml&jVxO|<)3P-Nl<-jBc}T0KFMm?V1U#SF zxP5zkx*5lH$Y7<276(*ZB-gOcT$ZrTyI&1$1QrOVfgObl4ew|Fs&17ZouW?*bQy0; z3+dWxr)yQNU&=Nan!Tnb*3=#o7@t$5Z~Ynk(PnpeRf{Qs-~Jn4UavC+ zU~Q1vg9yq_zt{gcSab=P&Vnc*Qc{fna|qA@E#-)K#j2>mcu4Yc^&F=+Y5a?L;ael$ z7|Bv?RBu#CuS#+Dxc*^ReT8%3_RU@v{w^25NTFGJ#I`lhEnb9j83((DcVp#^i(yl_wDQ0+#HrQJr@_6`^J+TLs3P^ zt=0b%SMvqdDwtkd>Q;UTZm2g!<8FY~@4H?31Aw}D$py9GHt!M2bto^+73+#bTS6Kd z+jKd*V2nM%@9Q-yuO?_^)wjnmiO_k?L&h|L(0k2ZUh1T2LA?anaJ;faHKcAVOPxD` zOx4D|4X|%lJw#yU%rG3320B2n<0+P?99A*V>VqhSw?VP3e7EHb0L8^} z;R}IBpuyANr~`pyb5k#5HsYwu??2k{?Dr1_g@s&vley~aD8;BM2UOJ8M907;#s^@) zi1grTlpAq_qLZoT>!wFIryYynON{M1As|Ps;F%pvm1^WEx~uh&5nEi<-QCo|_XSFL zAOOPgnGRk(ChX`4qF8_u9|7w@Pwk`Z6aN?c5 zzX=pgWR_)~+;1wp;q8z=hq?ekSiCmaa4a}jfMIb=-^6%%2ErTXf}G)KXANSx{$v8Z z_AmqMVb^po9BLLm0g65kMw*oF@ll=tZVH6b6e;-x|!@mW8^IUOLB_b%qh;!l}xFzke3K!tnku*8>?L>KbfL;^2 z4ThCvOYkK;Z-|D z84(8?oy=8ov#mz_vTdNZxkhvln!^2UCzjm=(mfG(FM^wYPtaW>%El}SKuBCKk0Dm? z@9w%kwNXaz8Fs>JNElk>D9QjeL_KPXVPRmU@Ie>Tz8I6}ho{WwsY^F@WpY`e6E<{& zZW6dN+t$P&4X~_DYPQm{S3s2!8#gA4l@m9?=KME-N4JD1!{#7W1Mn4D5Wrxv!6sF5 z)8T&$W30_hWsZ_8`qpmYC{B>#*^%?kbb4wODX*L*Oj@}N5{>BnG>|=T$1Q%PejDKV zIeE^s5IGWOy8u5C5-)5&deEvNjo=|HWFdwQQmmQmwI4ljVcBn!PMWeX!KXdkISamSY||*jQ46$X|Rm0-6{1n82-f-a}zi-9F}>G0}%qG88Ph2d7(@Yb@2pT zy+M+s3ae&e!nE*j^PTgA$~~mtzqggR;F-Y-nNoj=QbwvtFP>dM{0<->J~~4q{(}6u zaoqnEEfu*wZ}yY)53x0-tk8=<2j5U21Bm*HnC7C8?6;6v-i2DkSN4VU8xW>p+<&R4Ahi@f){ z`kGHwL&V(2Q0v+=$3#sxl#Ns^@WHr5eu6-OKoG!DPqfy!LO^?GNWgF)SYQlL`a<+E z7=2)s6y5$>TXab+$0zxi?e~>r{U2has}3Se=tdQ~q#TV-;K`>0)6dXNe$}{?N!Il$ zX3{K?-q?>U-?LTqs=Obj6yEZ}-sHNN)(1plD9IB*mUrS23hD=q*tmIaTltZt`3w`4 zC_2s?O-<{I{oxHLkFCZ#pdE7*R}5!!kmwDiu}tg=3yv>IF6Al&=#|l+0z5Oxix~HF z!eF3x@1mbRR@z_7DD9t_C^pDzDEpSRX5#g&MMqLx`IvK^)I1+Gr`~@vD~~HSRL*6l zTQEIY9~nQ>^S`xo=Z$F+xAz8Vm6bN8&-*ICIuqcdVn1f6!tpibC^*ZYETw0rOR#z1-?7|m zR%S5|KUIwZSXZri$e#nRA?s1;9{HlQB9yS28yPKIGRrJ%9WpYNI?UUZl~bw3J)m3A zA}Aw*7sK(ka{*FO6@QtECW^JE7*O=b$lRqKCq@nn1*I7y&EFoz8k~pLpJm@QXdE3Q zNRjq0EvL9RLXkd+-i4nrJqdR7B9wxBF|j|35rGTZ$EgN-iORk|$Rrx*RiS|T5{gFp zWZcRoec$s{A433o8pV9^i0~2l)%-LPTYnX%4Y%(tC1WUSZu1!&hhfBtJLFMpTJWcB zfJE6Cv@V{XT-)6OEj4&{_m*b{@`OC&*D&gGu+5t!)9>yK!lYvT;{d`rtEQ=;w5j-O zqOk)nXNy}4=HCZ2Z2ei*R4$_^E~6n^31;h~>puXPY7Ng)8Dq!7Cj#OtWaa01rlf`@ zz)4BV%itJdS&5S)&qkNtwIlr)4%J>#Gh~CV5bbJtSd@$KJWvts?~eQm>NOp2O727%mjo=|OVYyzFdVKTtcgtF&WFf0i_&HUuOdxr&_?<9tJjQD+}2Uh zr)71Hx7eqEi>Y4XBv<`(*JDaESXLr*wC^k~pU4J{L|Y`t@_OBo$GXSZgK`-G!#wCh zABE{+*|T4gWZYw)3q%;~%Z%z-qA^zZaK0VeXh$fco1JI&oP=UM&NNkgV?dNCtQEYU z?Tvc6FRz-}9zSRCj0@_i7mNR~g!T91IQzb`N4;I7r!2@81jSPL!-c)Iz#$YiLDLBL zEv@}CF2S9!w1mD}z^hWesz?Uu8uD=l48RF)TDi|1Mkd?L`4bvigpF-wvS?c+eC)50 zbPK?6$E;olt%wJez9L}_?w~&_(OBwlYOzo9cs=dV?ey|y>ikW^bvu*1D0UF&YbFGg z6u++or8nhArRr-J$qBrwZeHg+%1Y4M%WALJBP2qou7%03in+!``Anu;pO{AK6u})? z1_MciPIP=%MkC@nvX&B&G8s6ua2c}TutV7N(|34~{;fX8;kWh|Z=S(sm#2$EWM1+dC5cs^N3dJttaQ_dcC7 zWu9y53^$JBYiG4h-BukNJ<~)d&9t($Pa+?CK3i88+W&H&x z&`a1g%)gERF4)pnWNP3Hifc1xQR@V)!uU%(IMAXzj_bT1l`xY zR=JThYvdvaHdS-Qy-~Wl8#BZ!C9u76SLVtqn-I97GY*JIHMSo@3zRQpj#*+|_V$x1 zfE#{cZYdbfL=!a%9@%UuF2x_`@$XtR*l|xjD#NkyX@uSj4qDgG4Vo5;$BE=0>34LF zdQmZRW_33oWi4isp+^4&phf6gV{_C12$Oc)4j}m2DKoxvklC9kNrAygb8DfDV<+s2 z^0^5!4(>mIhmH;*llLey1`j2e?C+BtJ$kY z+}D(oP6jSKf!Beb03n{#G4P^9S7*ZeI|I6ju()cf9Tr8Zs@BkHjY(nl&u9GYP>>%! zump=oZ;i^}Ln#Z$e>jROYqQ!`)~VLymuM@!e#515TENwp2>*WHBr5& zieIg?=X@msi_o8E1n~!zu==$T$svYw^2t|cf7Z^6gBl$$MDWOH7@EG5P-nWx=q&l` zX$pIGmrJ1KPB7#Xk`o_ev|2ij(EgGKY0)4t@m2U~rh@-0qM~t~aeVK%s=PZtIyco| zkeJM>*s~aXE@XasvQi~hH^u%=L@6<$D}Rx`P3+Hnfg(9IUQ=fH*myx8TbHj4H?tEs zQZ)zu7rFpVbAJK{+UvcvAYoYyR?T^1)|>JF>~Yz60eR(a3AV6BRYp~$LS_Zc!4e79 zW|}Bxz@DTP4{v9MO;GBpWl))mbiyqywz~azS(r4Z^RF=|V=$(HjWYq@P(aD7jne)_ zYI2v32l5~-aXPw5droNbUOwgJGMYhpFwVC=owsYKaUyr?zq9h9^;$ui|7-Npy`IYV z`dVdUQ9FC?`ojKYz~c)czyu6%V{v^^L8oCVLapQGSu6IeLG?a94EjMWXzj(yyy?Z39YXtHTJ^!oIP8$C964Y$*q}IoJhm%h!jSREjuR$)s zt`+x~zs3L>OcsFfsLl@okn>8hp9ec(1$X2NI2qbRzqB$ynmPlU9LQ|tuT9w^=uMvR)+X>%|9W~uvR|-_X z9};pE`C7!J2y3Wt)9{>G6T`vL`s zzniBs78ms?2QATR?P=$OPh>LPyH?paIAkPFvqoe^IddMAIr4#`lo97EQAp*8*p3o3 zD8CNPeZRF{eAIQ_rfRR8AIfyJhoIK)p$k^Y5Tm;7jXC&?N3I0xcW@E|4G^y5@z4C( z)%e!@qQhqI5ZLw~>98qvYEAQMb=m19--s@GH7lMcd9`Gj67|;*V+w(R$ttR)a&qzs zr-ish#{=7ox?*Waye$wzb-E z*ZQLS&^m+v>2rK5MJOvN@?V+GsgUwt1t z2|fK3Fx9~8(w;-v?!cbXDGmSw=M@73Rl|+di}QiqPn=P%>@_d;Oe}-MuysL&)0`MdIo3-)7)-hn}h)jyKc`EZHg>|9|4G ztgm~Iqt(!&dJ4TB0lpMJ*Y0wT)`MfskW43vI$HFQ{p5E?{yoi544H%4?g$1eGo$pR zt_j@vZmF7U)p6Y`n8$|fp9IC2lx5;TC+t}h?*n3)R1IFk*3=LFfVK zr-^;5$mWddmmvbEE>P@)8yLYSAp)mBWHx*0jkcNYN%RUmW2V&6N~v#3I63;@ne88sa0}dQ93q|ppUqfq#2;2}1$+8#(@A$PK&-J;yglZ~W5b>B zry%gfFmUc7 z{ifJ4bsC=E*6>i?wb#RX0nuO`BXTo!^|mE?EFHrVwf4>t`F!!mDAMRTrXh>O4n-Sl z45R>C;4w>A-1>u{-YT)roa9Cm(0NL=Ny%)%ZWpo6kXt+ND}B87Z;J#us>w!qgej`0 z8SYxDr%#9ezZ_ZKmd5dQ$aFUb87vmG?wKzKWPdP*a&cI1ESyH)3 zzV(cQEleVcB+*K;Gi;?a6yd?Q%0sf!_VAU+6mC}Mc88)=ed+wL0uA%*G2qYks-ZF* zTH%Uc9Sd+IE6JQfHxA=XMzz+~f4wDsMrewx)rzN7lYAzN`U46Nh|cx1mxDY*7FStT zij>gR1hZ_w*lmF(({ff>3_}Otm|#X6d;JL0M@701>fqxKDKUQuOv++Rvv#ov(==Fd zM(lAFco{EwA!a^kB12NIE6fjj2)DQ-cGt8dxFeh)+TfD>on}lp!BFld22LwRESpDl zQIjY9Z28PpC>q|)qMe|5G{I7e5eZp!Xw8p5kz;WPqCMPk%15m|nH|NE?9A){vhEW&b`XUvc*O(q(Xgd9!(F{*H7{05w{AwKChx_@Yo-T{ zOzYR@ZW9DM-dVaY{fNaw_j?eel5?g_m2w2jXT9BIjF+u+%M;vFa+y1^C4pUEjzZq8 z9~H@Sl9`M{*eKuWRh+$Z5UCs;b*Y< zEvQ^Ssj>h3m|h?_Zf&`K4!aDEKPV>@7&a1IaTJX)t=9UMjr^GguqihRw-pjw(l;rF2@xGJ3$>8>sA-myCmJXw@++mcDt z2-Xbk6v_(!n;cEmeaWcE^@|WNKMC|tFXC|u$Fsc3m7K}!-+TR3(e#*-DuositpbD?RGAxxe=42Qk#v)3 zgjvr77Y3a2_XoC3!lnjgM2LkbDhtX62eG18;!uvCcQUF_$S1|-ykR|PyR>i$N%7qj zR6GwT;7@W&mY{iS78#9|IY~#H+O)~KXs`jryNudhdD>L&JF-rfN!)sHfJ6Z70=$p=a%hcY6M5FKy)9TLxHk9`!lzublqPk^9Ob%>Z- zcAB*clBM{^=uqRnRY{d4Jm|aGCdg70IPPX^<|d|{DLQ*IWeS)01DR3*87bl@poux2 zm=SZK?%0EnfGPfvQ)zznP!i`Z7Ohi^UO>QIs8gH@c*V9;L0xC~W3}CBMyRS<|Gpf7 zghR-(?c^l)3E`3p8xpD*sz~7Hgz>=4b}H<3BzjasZ9UtiPW6y}zdB}DgHewu95Pg9 z&14}Geb{E2c(QKo?rfGYE{C!=lRfk+ML;+dP1xPhywwMp{i12nKb9rZM*mUrenazR zNUng2;Lwa{3YyN~bUk*S*pm=720$cv-4=NO4%Wd;x%=}P_QqC!!x(2kBtIN{PN3Mn z*h0$Xn2#PWi){1>EGuz=L1x)4L+)H>C&h6j#!>Dbbp_Dvn=#V5wsg8Yel`WKjqsMIw0irVYeTnF2;~zZda*5Zz z(<>THIh6t51an{A%1g79_#I&}Qs2o>i`I_v5K3zlN-i#1t%J+)I(yt|WA(J>sYf^) zwA77vs(75ZPM3A!5NH^WD5#MGHr=`cg*ZfP*Z;f)CS_V4wJdc4hYlJJOnHde654MW z^Jf}3)V-XCTQ?5c%?mJ1H>w3(G@AO`SU#p?`5Hx_Jy3f(bwPcxUB^%?@w^33(}rGg za__C7dQ*GpZ?~7XTiNOFXc7;PK~J@P1DNtVB6ng_QeC4%z!0$sksOU;0}4qCRC>7l zci#+IZKS`Jtf%7Y=e6+By>KNeVmywJWmrF3?<`VD2$TG4V{pYrL0agxW&}&c{4}d} z-*i(@E1a=lrrYpW7V}{n>;5_#=}ALe3JIhv9z8uJUn~Oj05h7qU;vT}uuHx?$W<0& zV0*(1YNLMW^?KcF6@%~n_rLqjIXX zo0T2+tR<^+n5cTddM0bnv=kap#-e9~(I*xwS-~)%^AMXu95j;>VWNG75w| zL4s8yarwhxXPv#-=e>uIdvd)8Z`x$+&Z8p&O-^g&b^t`trX@_4`}OZeeu6%oGf&|m zHlq6mltaX(V)*J4A8keLY?ABPx00RDD^CKlkMb}#yHPjJCC?1&|F#j$IZ9cJaFwwC znQPPo0^>_82awjUrywNG>NPl~f^8;LHOuy}|g{xe*1%qrD=lzhYtSWqOVoZ;9;$4z(%gQ8;x>K|qGu}CF zaC~(VX*|X^)MP^2+>ty%h@cjze>?u0_VsR#d-r}({wofTXQazq3Ti$~gRE%lP`$8R8i9^PhT#1&*rHHc?FB40MCCo5lVXxVr_Vuyc zJ)#7VSK7O>@l$}wM-wW?>!4>&g7G0Bl6hJ0dCT=z#V5uRVNe7??gz`QCrQgwE3Z_# z$|dNfbpaGSKfKJ{zU=MhQ=ay+$sf@BYOAejX8Hu>ixqeQ>~T?#nkuO$H|6g4l{~X~ zR=u$u<>Z6bd!Z}OHw8d8ym5$Rw4OV=2IrW8zM3_pm>MS2*-WMK7-1AYe!&e4ek9rhY0H#;_BQiF*b{8re-DR3+bRJ@o&e66o4MP4~GMO-pb>kl>lQ^0Y=+mPZ3)e6g zg_0<7;EWA|nvr-f&3@TtVI~VV4+K22h1_Q3La**yd)B6%HJ@Cj!m`{u)e|eH3xAej zy=|Kb1{5~P?F0^ z2=x^Z>dO75U|LsKaz8q#De@|UOi~9LtPI$O8GhJe5k-l(A5xG(b<7L=%!8v)3wgz! z5zjO!+s}9UTlUjM9(ca6qaL4EK(S=nwKQc*jKYAxvbCJ zOCV3iI!qES=>1xj49#h$%6;HRLyhn&xVYGEEQKEd7`v(ix^TW$=fi!vQPXo13;OgS zNlETS`HDVhh*8~GmNcXa9oy>INyoO0j&0kvZQIUW{d?cN&))l- zKhCXtYgEmesY+Gmni+GgXN~cEK3}E9YAPY(tmQ;sY1N0}RGUQ6?n+pyn@phF8Y+-d zp=rT($>qcy+emH9<-{2`4R!4E(U>^K=m2Ku*j?WmDj}J^^;;>Xk^n(BNr}{8L;<%j zh@e~Lxo-y?{Yk9k9qFxpB@4vL7L~vF$z{t?=yHL*Cb`zC1NFhbrOi_szzEs8TImlX z{jb|{kJtR+8eJ>Ax!Z0Cu}_04v!hF3+hZ$++ev6^_cl0 zW7wcRv3_n?Fe}2L$VMHzdk%WjJ(rnD?`7_J``T&!YDad|RUB1ZJK-wSW-3P zN8{;U=lfmsn^(a_)}{Iu%E!l^_H_Hk+uZ|#kGU{4Ua-M5tfh}NwHEUzcoXSdl0M4Rm&A}y4WCNnfrbE-|WGHYwCo1V%i<_nplxS;Rk z-m^8>!2uq6?k_$3YN?2DgPb~;+%M62QpTiy^c!qypk2pjM*(}Z1g>e`wSR{ zp^G<(@IB&^jV_VpW{C9NQo%#<4^mox_6i)cg4#hqClP_2=q-n`jQlw-7bu)}Uf+tW zVZEVCkJh>xq(8qNMeY3)bImwEY3&>0j_1{>b_%s#E-UhX6q3vuOG#9g&mA{E{ou|4 zIX=!M_U>4#cmi(%pcxg})1D#fIpaoda5W~fa^Qv(s@XSv)neY*p~#I5$G85m-$?mG z2Uz)`d%~sLIz9JG=W>L$TD$JAPar&-U~V@YYdqT^oE-5CIizG#BQoZoT)^+9 zF*|BXUn2>2_%p2$IOpk0vfO(NzzIaLO&3y_h0&w>TkLs(4Y5y>2O7ljfR?yrNX2sH zE(bQSO+(yAM)6)o70ak$XYr@1_QzAi#BhW;`2GBCQG?l+rGr;@i*%-MCI;QX*vbp=%|? zrGX`Ry9pS67+@gB18K*|N}Cu_;VLciK@X|E#H6OEb4at|>EI|Y=Igku9!CXR?e74c zY|@#2GtWUdhLJJG3WTPC$p z;m;BGM2-(uP7pyd1T5o{koMD>`R~40wpzN^XxQLMV&8slK=3_07m{qx0HnM<+2o}0 z9I$0|-1;m9iFJ`8NsG2DHa77zU+*_RyeEiQT-=;JP9+WZ)!ZRw)HN>#vNL6=!%2rs zq|7N!f)BtFxm}Yz786J>y`0En{QdBV$BB$paWeX)tn^ro*7bv@!0Fvezt0lHArLcs z6UpM+g<^WGV;(5ghBwE;$uh(WsTvHa7#W8DKkQq?X{o~E;HLHdp9ekroP@prZ}tz#x4ldx(OV{pagstm@VUvH>a6r3QgI{6+o;Nq~-LJQ*+(p=c^+ceo#xEt(2Y&xhTuiV0L)b}uBwj8@0zt%kW+~ryLTXez^eyQ-gSnhIGSCCacq{;N?GyhT5$>kiHxm(f0x@$d6<6r_&2+?SbqJbOSDM$7QO z^J`O_^X7bdCNCL38H1*YwnW6tW-R@FeNXAY8!xqNO;BGXeO3Tm=eAg8Abw&gA?T)1 z9<<=m9#sG>p(B6C%YQ-9`r(t<6wq#Kxe2Ac_T>*maN+SR2AFZd-E9S*ybW(HkNj@i z*G9PFG9ztZdRTnh9f^>tS7#lJ*)G`)b~eSdVS>N#EK=D)_m72xo7&(iu4erk>DJfR zA8Zmc4fbCT<)Yxt@_Fq}$OYi|;i{JlRY35H?=FjdzAlA+kv&tu;TME{^l44S#7i44 zw;w?5!*c2A7ui?HNC&8>$#9*;+R?nyBYRq*H$Q7Z7r?{`JuV!`FUl|SBA?QQ$beGM z)PBmdb09jDqjLEfAQ99$eES+YxNDU$udY+~8d*bdOVTxf$^LUNGEl8f6xYDl4J}e@ z4P{8KN#l?W&V|#P6x5{_(ZyqhzUl;DJf;`$gKij^WO!f z)&oNHeTfRov7$%LWZg$6&MLu6_Cl|zdL>T>3-fx7%BAo}>gX;y00H!{YCiAUcUCl^ zbTY`Bc-n(K{s;SlVkV*%pZUqtTAgZ1Pr8{SKl2*z5 z@8wDXJQ*$5Zlhr=B8EJS0Ac}W8un; zn_R4y;$%wfiT=)y>w!)m8#wH)1chT11vg<+Tq8{&LbVBI{;SC4lbp~kR^8Sp>)_gvT2t|NJnb&ut$x4J`^-MuJ}`3?ATm?Nn*}N?yvS8R75|*x6_^mm?yMb_ ze6}>dbP?w(AK*Q)lT2bJaf5~x4gyNGNA@!UiGveo&5)_>Dbcek zLoYx~q^DcblM^WaK3n(t^?r?If^WhnwWp%G57=x_gaWEYe$(*!xAo+UHUcCzEeEPR$1yfC&PHr z=C;mV{&;bPK)1fgWw_?XZ-+%)Ewy1_%V}s@-^1&;a(Q>ob99nyad5aCVyeNcnw2{3%FW@qF#G&p-@&62gJCses-~r{BdKLan^JXO{(*q|NprG{6 zbvNCko4xDIP1yLqvN|O>)A0TIj*2IbPr4E)-crraiFfjxn!l$|6l5Wo$*BgUMIyco z9K^{2yElL-+Em~&#s*M2{T-%X$@E#i5QBHnk>spyH%7w%<)GjTzM1N%>{ zQ;*ATNJZzr3#(uMts&$;3#%w^LzS3ViYW{sl3$Ymh2p<&%fG7Bymdg8+FLox^#f3* zQiPRiJ3)Ogz*{0F8n9?_`-wi#h2?bj{M$hP z7k|e>BhyL?q(Br7$8GB2uqB4YOTnuWC7D=aNo9Y8hpn>iN1F2^>p@xi9$H8?71~_xYna>ozm8()pZnB;}Xw4amqs zSE%M$*p^q?p;+Od6`q#cR7Orp@-AuCeEu>qe#C~KR4!*4r1S(c?gmjnQ^dHsT=!9Z zCx(5Rg-MsQlHlBDIlf7mPfA|k!Jo~V`p0vY{AFY@I5T(xk(vk8FLJN~j^rg`G|GsvlN@)1 zmO$adi>2}`yB4q;cZAeq4d3(A|?HsmV_SVL%&2ZU{g2I5pPux z#xz+AH#j65Bze|6<;VBLmVHV=^?HrkEJJEgEc z#+I(ko1tX!vp7G@&&Du8yZuOko~?~4eXU;df5UHg|6lJws$J`rRWsFTe<4ZztS!AE zfH0JVIRgeTxq&HMuJ53+`XdSnrvghlTK+CgmMp!F#++TeWb_Xd$yLBNR+--&R=)nZ zCike=m3%!Ia_?B@=?jNNV2AJrr9;-qk17fyJUSEkESph{Mz|*05xJBIz$n4Q)7i)L zh^>rvvHE^XY~G+%g`w>ib)_OP9vqy<&V1bNsM&OmU*?hGeMF({Bicll8=cMP;_cp! z<#tz?jPUSa@5)!t-a1}pf+=}o7Y(_XA7yyC63f9+w<{MS66TYckPBWzsmU5tM*FHg;Q8#P+40o=4O1pqX>5f61qk)>?0O+W55AK?tkC_vM~w=+5=| zPUBUU+U@|*ey$wQ^p(gG)V?oX>YkI0N zwe8?4prqzOw7;UV3v==O<1b~f-mbq!d;2UMcGZf|U3A3!=~)51d=F6vE?~u3 zJ{nyh++$%AlLjkGgF~%KZ-E>jYCvNxf!$Y=4*^kCF1^V?$Z3@kDvw}=kwdpQV2XEu2BiKFhmIa&zYVN?1ArI$$Td_ zM_lg`Q!HziaPDubIEKq$CWZ89=~6`A9f6woS#k3vR~F^fQd`^iSNKAugw#ta4(71u z7}*n8 z$p(rVlcj=coeRa8k_-tnqp_p>o=E`62@_>r6}|k3u-(R( zD@780Y=C{yUE%3F;CeO`KMLMXg(Xa0lZ1f{a=4|P zf=h^!OQEr4aurcm+yxJ>nj=3X1@nmm;MH`6_9-DF|2QRJ1y@XX$W3LJ*5Tl>Wq0y2 zi~a26g_3Pl>$|ZW2lKN`TOrdr+6p0^>mI6kv=7pcn^QhMOL61U@EPje8+ml=)rp?J zVz}{y^~8s{DoS58s3?AyRSlZ++H)UnlmGSFBB0FO4hW>PALZtxqLoZK$dniYNQiM$)GvzK*dYFgbqYIRGbov+>IncWGV!Ei3|vUot|@5H_%moaGP%guQvz4Bs5#Ww01TN9iZzX=)&x}qLS%p7U&M*m;=Mssq_~q)R=3-3r z-_5^EK&LEo>M^6rW!uj%^~50<#r}|>e){F^K){|-E^RV+o|j94C?O?-PDdq*K*Bt$ zyMOBupu06&*Hx45F&q15oH>G zAYSDStn2uK!sTlSag7+H%jrXa*MV&PbL6Algr~oxYzkM;_;kgJyR{Z4>19A5`vRzN%t*M@N za4OFFYaLBm`hbs z_4}Nz{z%=Z$2e789~8I?D7fjxXeaQy?)4F&VP2b?IgH#2CK<7p!|uK>l|lBQB_ncn zA(KDNM%67xBb`>GS6-D$?f2o&$38txu~777E0}DEx)!}1ZS+m+Gt?KOiG(oBCK;q9 zR#7-QjNX(+FS)wN^JKZc;O8dSs;jE2J|G^^9v@0C%B~9Ow;VPf6S>A-TYkR13YqKr z;82+_s~j_TR|=j}_E!p`&DgCSU`YIP&im~jf1tyP$}v#wN~a()I4AKH6FpW`sJAwC zc|@6R_+8j1lDM75enjKE%+UR< z49EjGz{u>e@VgDV%@TJDb~b4XH*Yjuw(u!;xk@)X0OQ&?&ofrwHvK+%@|cAwG7%?Z z6ck(MNR{FU@$+(!4u0=DgL96Zo{JjA%71g*P2T^@ai={q+wNapeA5o8t`OxkITd!R zD62j4T&+b@>ah64SDc1AFeE9C=MufeeJaq%1L7-rC6MFCZ=B^j`s5Iz`>*TVHj98{Bj>CmVe$NX#?+7XWpTC3!hX9of{hpp6{?vN}MM~?R__}-3^Je=9yZ3 zm{mDFmvn0MHjm~rH!{ABPJ#GghWoQs@d3KZLb3{4KA<2wv;ZF=%+5hq^L0@-bOIWX z1Y4hu$!dvSH42b|ls;Ndd*uM~b<9_VdA;A;HN1V^8>z!2K}*|)#=gAee1g(8QIRcT z+$s~Nr?wGjv9(>AlQA*GU8558EEfs-OI0H!dg)=ue&NW?-#y_uuSo=kA2$7bH@Qe^ z2`)2+DdvjgmW@Mox`aLK@dQH?JT{WaVS+FplQl%!7q1zHz35e;>*=ui@7uQje_$v@ zo~K%p4^U&ZxAwC#z$aKXyQWDeyQ$NaqjY5EPb6h&_w#>64nNTb4BCuIfh8<32Wrg` z`9~T;BkQOZHxJFZeSzztl)*GC-7lr%_ECQwKbJ-%=e5GP*wmJg>LlYwQG^a|b-mI5 z3i48pO;eEd?zIXWPh=Wv9ciy_p+9>+{q}krv;A{f;8cj{D#ZttdQWQgK;p#Qb6jHm zbjE9^|Mx|yor}q-ohI5b%T2q?9q?_Z?tVGrEaEVyOp=r0lryaxvDcwxPCbH};W5g7 z{vsRb`Z&Rs*`G@@iXU;#`LV>K3SP{bIK@S|$l#+#AP04R5&3@e;>dxlL*#U}av(OE z%Pt6Le5sb-;5INlHQ+Lt?%aMXQ)@CH98gT_s>9PBQ1Ao4b8Ac6ZcWTn!cnAzbtdFV zq*5lCL`7%3n1KaJy9$z7F`NZb$X!xE1pE5RQyCoYzo2Vc`x@{7MR>5K~$L=li$DxqPx3Pk5XXu=EW#md*T-8uW zq&>0*u$Fh1;YPcz1&)H`licc^M8z+oA-~fTo^kY2nDDY(hV~va#?_`Z5QAI=NiW7P zr_wM%g#6@1G;S6Uuy6}y%4`#E#8WbZ7c2^G_f}f9vmbj7j?9hbVwXiy?X%lesf>bA442jTiPI{4cl17RQZ9(=d|E2OO_$a?H*T!*3nI=_9MX4 z)asIdMeHXzXik2!Lx9f9l}4mfk{vpymFD~VQm<_6hP&8@8rV+Vf=Mg~sj^17v0T;0 z=F6?A_jHJa+=vhrc;bgrOYYzUG}|Dbk}I>w4U+u5hP7^Y~*X z)qj4Ff95|v>MGn|gnZqCQBWjanXpQ?2nFSNlnZTV@R} zZ>+aTTmwP>o1YNvh1lu7;uZ{MP{ahVud~?Qx?0pL^~WgcAG|EqFE*p@0twgfiEQMh zhS?{5*5J0=qVhTgda1<%6GT1B`Beuh1WLc>@VXnEXD1K*h?Id8_JMQ2;_U19>aV@d zsKxZ+oVYhm=PM{<8S&*G1~t=RKBYg21O++cA~@vprs`;Lv0@Wh9L*DWBQuqVuPv-L zuyS>Yovmtlu<_pRJ7t>lPSDC9Qm|eK{-h~VYcBS|&5AKrKQ_H=PI1l3hpc=~x04zD z-n5}>{R0=#EZU3E0Y*6@RYC|TB*rEorjaJ{JVJ~|!%w?|CU$ywO1;;#f`BPePc zr_2Y={){r>1kJ?|q?7d@gX(y<9b!F@q~Vo_>}&!OBoB~<%(Or5Y@hzo45yp0-s1Jd z2SUZwPaUG32TEiD#k)61Ef9&kA=BnY>GPu5QP6lQ@?Gn=YkBvC*vofuEp!6H|r%Q4|=W}8rz_+V5R6VGs$i|^9oAKk*Ys5*;egu z&&@YQ^f>#;{UmTEn>wqj_PI49HZ2KFXDrM1Em?$Se5p-)+Ovv3pYFC2v)uy(uWNh? zTW9z4eXj5uZ_}-^zy3B+m4_MBY$So}e@Ujnw)C>hHE`bB1z|*0Ex079iiHRz4%X(Y zRdAj!M)zwmA+1Y?A~CVk5wcMcrlS@MQW+;A2AV}vtuo@lM8V&>=#AK}_zD`h@0Ty( zFwK*OJB`Zt7@a@~X9hnMkjEpA?3i5|Vkb0$`prq>`j-)1zm(vsi|eb3)Q09k2t`>S zJE#N0;f8gy(v?rZSilKtycjUG8#MObY`T5bYV)4+`pD!nB7A5CeU5-J%!lCaI81|U z$gqa6N0Wra3u`i=ZebGm73)5*cM)#?Lcv^LM?LxFuyg3#>Yt8Hs;Eh8@f53YkbBZ%%@f&fGdv%4 zbfi@WV?t7u8mq7pVMS?5W6zi$c(@%mg`Y2}rm#5vZBDsw)k9Ksx5ke(H8#WKVvQ8D1NA#o@P)zL_uXZAa?KHO@_=A|86o&D-dN~ zJTu3GOrgLMqCezyfE`?hmls7#zyCy;kYtj!K_sgH#Txj{EG96#-G8txz=x9gzxprp zgA-~Rk|>?yxv>SNAg(T2(I;uS*F@5<9Qp>5jGEqgY8Gej2lq4xV5=}vK@)=`wXamE*78KF{z*Cs z{CI58HEzB~REl_}x)K2yttWxajwdrhW2=gqyR-5KZfEa?th%LH43#zRvP|IRm%vQj z}9hD>~;Lo-7PF8)!lLt6Ha&@&2U4%9HWQHs= z*fJPpwukfRi9#`+1EC;9(7@fAf@@+`L!AGsfma<15n4&A7n4eQLeUW6XH}6KL3g1Q zkrCPB?}zLbl1UA7v2&n!KzFD>^~AHGi!Y-LQ@X``KN^A2wnsF&;@~1ynD#sbDi^AU zsVjvu#p9(zVHl6L%u57MXYb+N$_%(M4}`IoLfg+t3%QgLJYB1zQ)ea=g30bfLoSsB zNWhOSffvdju-S*?#k64V!6B*^S^V9IUyMMzh9Q!GD>|m4v2{?-*GfE-yBIpZ%RjS1{N+Fw~?`dY==x)B}^s~D` z0@|Csf*vgR((15d;LQ)wvv=niC*b;Ki9~9Ew@8$Xa;JR1@@T1prCJPAhwD13QVg2H z*xK^lr(bz)uKSgLMK?&40Hi{038+hJaX*ADwI+pn#c&A)GlcU%(r=SHZUj?i|BFm+ zb-f8pYBiV~mh#7su+pkLGZEqPla0@(yo~ABvoOHI;)FTkXY2L9Rz7PfN_SUpTmI(S zl)seV1V^nKpISH2ZX*&F5%rO1*atG(mo;b%1{|3^5k8{9kKG%FkGm3(!%n+@VKiSm zpAc-!+W{S|Q~} z6D^$CulY9xhn8$k{lerkzomB~Q~&Z>h{~neb(4oyRitLwW^D4QiXb$EWEV9c+o7IG z9~sGS`2^MvQeYk`&o!}eN-ld}by{guUn(_!p_*!&0HcNSb0I0q?(aT3eY(v$s+LOAU-8Z`MJ6skTc@$PH~FbGOe zN~16SKr@ME8#F(nYuIlAMAdUZVclsEBHO?4msCN641xi}CHU|0inmVTy!|FR-3tEe z55?!R@Y+(#%2-6z17s*936U%UGLi;zOvvvpXdkps%J&5wzH2pvDXVvtR0I5DCUL*R z>`kZNo0o8W4V#l`AM5otS#YW0y$Qw4IN2NjwD0=9{2zLo1NJE2MBc|MkRW7X<23IR5%}Or?+iG zpgqiQ@g?63R>HD+dwte>em1*OguPZxD7}nrjb4-<{$3WF=9n%XUq$!bSlg*_Sf zPsgd?de_Z+yGYMm`d5U)wxfsU$NT_2e%*QwjUN9#ntY`{29DtO1PVcf$@AGt)Va3g z$@m$iRi{P+S_Umi>-@MN6Y!sE(#rQz=!ru3A0eTZ7^}RkZC^s0=%wj zt6(qkgBe?c>P(ps_DS?;4#z+3lGqNUAFbTy;ZSI9(Ku1pQqUq-TV5d(lo=28zM&h? z8v1~cp#)Z8q3MhXaqx}MWl2hu1UmHoPH_TS?1$K|vH0Kj;J2&uk>nPP44u+#md5r@ zi;EY<5*i!Nt(8scs`^WhZtB*J5lRy2F;6I3U45TpLzzBf1?uB^l)ut60%U~sO8g=c z5y@G~9rs0?1h|Ip+55*C4#k95Es~LjwScXTCe9<(I*^vkZx;hoz!1Tw4aM13nVEAa zjHtrh2)UCvcs_@Jm!Y6hk$~?IuSM#Iv2udQt_-60yzT#j^=}Ls{C&=ov}Xad7I=|?6dnnAChAcJ|v&YBDCSO9fbhTT8z_3bPn!c zC^Zfcuz+uD zJ#pFjVEOh;%4MbI$xn$s?qQgvOekRXuNqC`uNo~C9-u~>ZDj*!sELcJV(OEIs{g9d zbii^guQPBL79qXWY9^pVbwC@whEHf<0k;dH>|;m~JYbb?y%=dE02_?0bPL`Fb)5p{ z)bw05_i+jz5ERSa!FrosCUQOyL&#A40fQ%$nNCx6Db2VdQT#y#C2-->yy|mazPn83 zJ^$(NmGg*y0oLF%1v~Y_g|tz-_(KXnj$eTl>5-hpTB<6%O{w-Qkq;bYoY14wl2mx~ z5u5Yazd}n`y1`Ouk@z30AhuS1Ftu#C)6$1#!YmSHc$vdR!5ATj>;d21hiLhlF$V{Z zZUY2=+QS@oMD^yRjzS3+ZYKQ?KmCvi2IMigQaAP0@*E20t)c>m(`k=}$>JSmLa0n@ zpePs3wUn2MR#VXW8^HS}4EoFYY)j2CNh?wqk7ARQ;~=TjacV?KIE`tp-G3sb;H;6J zQMl@CUDzGdb1bdn@KGk|AYQm{JMEsbZKb;~y0IUsW`m$%x1 za}~x}*2BbA7L%!FpnuXFD%JVCW4k}vh{ryX!&%m}Z2K&J*I}~iI}C>6LB~!kB|e9F zka7#RJvwciz&JHz%0L@9uzwRgvWGTmnf!42vgbw`ug4dQxpKDjMQTVn&H&c4#x|?e zfO-j=?|jI@Dt!c6B(;LEB#TLYFDOjxMgKmI@lU>5?G5JcK^tU>!GLkjTj!O`~QIh&aVS9%>n$t8Br~ zW|35(UYb_Nk=@&>`v6{h^^_tOsNDG@1;mGO*5R~?Xma6K?othQZLpmSVtm+5jIUlRb^X=ifcVeM7 znK_l?+R2{gzVAZIHVOP>Ku+h%k z!I}4-uu2O4YMuC1v_|jeHpi2t9tvjSu=&zaBImO!_B?1qw-IlcaYW#%d)>M1)$jjtKk{doFZj#zvrbhh|FeSie=CnotJc%M)AtxY7SQxJL9180n z_?e@>O?M_r`z>FMn|aJhO_m?XeKeErp!T=)w4CJnGP@Ybgsj3f<>sNCTqyLB<1B}5HHA{J;3X*DAdC4;=*7DdkZ!b;Gh5*ZJc6W8~$f<2gpd>y{k0$igq!yQD%+oOfA zq0W2k-C>HjA1OJ%k8?-@V?=&apt4{m5)8Emrqn9%(#X*sYo1AQ`3+v@Qz5r8&OuH% zRwr-)J*sedP9&TkXE;N`aJZxEGD$dnU&+iD$!C|Qnx-hAy5r5-zDMNBpk$xRg|PP0 z?7d4x0cDx-Jd8rx>{sN`%Z7M#yEpIJgwBkyL|0&cbh}gntEk;}*W4HQga+gk3($RruFU`S!-$-&|uCC0;Y-AFm%4wek8+ zUV{;kvL+zjK^$8i(zaeH6|%}!1oY&7 z?E<3zmRtR!5&w~#A(?b~+Rm#@8gO^6!w%LE(3);8-dbQk;$aMmk+^z~a^NO^)d6%e zvdGpGe>v6n&XO%p4Q&{{(4haZ2(qk9GZ-l|EEcAT=P}{w z!c%)%^N8Pqk|)>1B%F<*pD{)M8lc9?bOu``%}w9V$O3mg%Gh4J69r6Q2IxFMo!@Jj zaOHia5t2ao%Vv@EwGelJ6MZvd1)miMo7E#Cy_6tTPAGskA9S6b5+?s{)D6R^2ca$j zc|z!9MQ)jN;uNT z!=X*osN2iy)lr9z%Ls#fxU^HBauBO~Ocn6U>XiJ=4Jjde#P>Bymcdj~F^%O>2~L1k z9>>dY$jsmbq2YAe46dn&%*@%_y%pyV^r2J?ovxAJ5K8L@J)pbejVAHyDQ)!YbFb4L zrG&!y%sRbgt?ggYagMD9b$P%3qn`kPbm0!ubijFwfB$5^E|N^PxtCdbEgXs_@!zb} zMY9pIvT2Qco78dP@DdKxCC69I-|u~_e3*h;p!)0jKPY8Jmu;e!(cEZdw$3aj!HvkL z7H`}*KCQ8mL1PA$Oh;FC-tfI;;S$QmHoMt&48UrmLagwyF?X=vvzK$z_oEsyq#Z=A z*rUSri%qb)!cw0h(EFVnwFhweJ2|x{0G$3Vzq>I7b9g;_qj*NZA6}5L256@i+zbCF z!gcr$!WEZ{>cwnLx}HF_)se_NkRaS@^9>%eUL#YIUlUYep4)kzGir(-UzZhaKd*h zkc4jqNV)qg{wf>gXJc=hfB?9P*0r5B7iWaiW9~uwq%=lMjv^GmW?n9n zyP?Vhwm@&LND~%|bZL=JbqY|(%;36Ja?3B0Ni?S-df3Db<h)G%U~?kpaR`arfA>QNtu25%Ul2Xhkjq3@{cq z0W209=WBc0ReMoM%YVVSK18qQbbZ&9kevFLp53)YgmHhzA<&0#3ZJKm%`*(GWB9>0 zdtsbE0(tT4no;)siM|WucA!fUl79x+Cxw@3lF&Q>U5h8SpussD>9Me_hRatnRB%3{ z$=`tg9a$O)h%B`-V#-XPb?nMsZ=j!CQwZ)ivLaH8kr6aNmcIo850yY_i%Ee!_H#5~ zB-T7hshtwnDCKTvFD{qpxU8SSMOYc`1DWm6o%}ZYFQkka8chS8y^A>mY$V z=1{UFNt1$a4|s7W^S)zf`Hu&j=msJM)f55jooEDn&g)`vd zJi8@N5cFsM<^(wFx{cMsF7w(UuHT}6r*)cID>htoF(oB!j$K)9PzNOpLTvNT4_F4X zme1JodU<`e{=X!)5G1qTXN7|wPTw*v0M+QTjc9U0t?C-$=Hz+LWjm~QjIri zEhhAxrq-q7JA6z~!Psev>*Jf!`4093TH3={dchM@{R3$9Ky0E7Qg|3=1$f{QDp~_q zB`0MEtNSnlQvg}D=JL}!t0KGS-);gooKiX{0bJP#R8NaDn+lzsD+HA%FSM#&U@n9@ zh!BEv7U6vk3C~qY>w~Fz*uV64On=k68G)j0SKQJf&i~0rs{PM=q`yt4R3pX%-7~S6 zI5Wkqw=^^6i;kN*z!t0 zZO1q%gp%~_QB4dKQ#^rvHQfuyp2g)6p}M`SNaYt3C{D`M4#j!{X0s*W={O<;GWnHc zB7d+tP2oI^4PhZS0;?%yue=zeXiFZWO4$qOKJP33^&1NST8h$-buo=A4Th6HQ8eFG z*tA&7LYRN3;CCJJiGv_vcwFq<5$yuMj&mdvB?s~fYt3nN*GX{`ZTsD&<-b^DssV6G z9=36NX7-mh zFF@S*)fHqh#A%U`m(f%SIm?B2SH~GN^rciJ@w{ktUJ4Vr6Zi{{QL=C6$#n3!{kSI_ z{-v&wGbY>4pt~SCf_nS5O!GepWJ3R$K=$(gCV|Wp_p~0LzRpvY8dJzD_9~CK{+LC8 z9d=v?;r~krnLQwc3?2fZ!5|GDWX(k!&z5=XwTtnkVM*2_-A$~vZpNChnJgw*mIPQ; z)4lS15Lb+P{jJP$=Xy(%1||46PUi8ob5rhvw)^z(N4h=~D_%?MDHBJn7zDFocJqCF z4tNguPpi37AcT20m(?zxCqi}<&xD}p+5S)cO4DJ9LI$hNTTuHT-0Etjmc_!g&d-g% zJXX>3$Na>?nXD;KY}6O)SdUW@&)(yMEZ-nlo#9wF%~>Y8x-Jw}Xy*?)arrv~-E^J! zWt61@4AG#zIJ%?}P@AmZ{{OZnMJICCj2MSt%G9=tey`APzU3zNnV-+DVabxIvr__o z@T)T?!j(W~ktqD%v_QE3wat4tUSlaq?!t+->%7CRO3;~+wjwL4i}D|G>jvC=!g-^B? zts`5VyiUC+X4D`Y?O{GLO?<)P&@SpV&Ref?Sb4xo)<_SgKNQ-~71oyAX>A!-E16bR zmq64RZyz>tw+IxFR6A*pYOe^E>kC=YRy%3mTF*Xn&R;GM4=?B>p{!(8XF~PnRLT8i z*8U)_O6+tRR(!uq|B?_AOjUV?rM41)jUaR}T z;OW{!fj4}De2TrP0^iB!YN{7^t7^&yx^v4uQ&y%AYv*1zO2a%mGG7VbbjbxqveA-KCO+#N#DKnU*c?hxGF-Gc;o2=4Cg?jGFlO8&j~`S(42Zk;~WUDaK) zY83^=tjSt~Ilei*cRY{igcI)kom*VzFdo;?u57wcFb|U1D{&!2h3HRPH-w~*etHh{ z1B+w*H=3zbo$kri?YcgpuQGm%;kC(uD*j7mE1ZDIhPAy>wDfFsvFgs803nMfc4UI2 zsN!ffK-5(kAQ7Ca74;H`?T+%%;ba(DC}nm9=1SFVn4+(K%@`B0W*aG&g{Q|UR)ejc zRjJ~$F=XxrD=mn28WJ!E5?mIUWWO_nWj9SHnDsKGjEr9afLgL4SPL~F!o3Z+=7NdfJKnt4z=cl;mqrp-| zJKamgh#K63-fKJ(uZYuaJYVFAJ!BM?`9kWOse4Kx9jey=fmbS_G=kETQsQ-Z)fMgv z-V7@zNzI@Y;aCP)vK`knc4%dD&3V62Fg848aKb76x>R^GTE?@2nE_dE+ynP54jB(! zB+|AZ4u>yYag4JzZHjMTE#(W!Ym=L5U+{&gYY|FY3Ea|`2xSSt_m6Z#r6==a@6NEC zQ*gE~n-5Ne9s?6h%yZ+&ft{-yylEb0hJ_%rUbgodOK0`^C%OQ{vLzj(y2h}U%3)ji zL_@*EJ&p!8K!R}v6Wbj6a##mY3#?Ps+^1DPu6(Eh{wj!+@o3+}p70W-NZZ6FvIGkk)erZE4muH#* zYCm86pIT{eLyhhcJ%UEEQdCSV)W5`|+BMWFj+qgxd~kIYi9v`yoo5%hPO@f>ox%>0 z+Hx=r3Z7tzoXBk{iGmWdDU{1VrvD2KW~1r2qKlvls+#fjQkJ*f?7-QjZ=(+U&c|z; z+h!43N&5@Z$qn}qQTCumO>UQ(K7@P#%L88>EFWsIVX@%_Ac{)gJ_UD7iLuEiC7s@| zHkuW+B7qjr3zV)Y&KX8Z^C0)-2G)M6h!XAX^Zj(hHi{83tZ9##ORvtLR@wNWmpi50 zb5$Phq-gnv_QgcxeA~kDPZx2FaXjNRLeYE!Jc{p!^J*vu=*ahp&w{*yQV){BJ~ws; zT`8!&qfN9>DUj`_n?|7(5L2|4TOOcCo2(uZin)w}H;r#*)}->-A6))i&F zX_!%bZg}=8qhYR^b>+8L!M5og(?NJyl~^)x2RzN9i>sVry`H>dZt}UlP)|$Gm{6DR zb7n_q{RY}i#6;{^5H^A|X7%`|wcZJdIBSZ8R#;nu~$+duDtORh?DG&O4YOS#7fVpjXX#`7N0$~pKAi_Q$^ zPt00`)a?*}E6NDAs7cvD7c`mK^0gN;pLib`*@`vgG4AZW4lQyieI?&+Dhmzi{6mid zm{`&b$*`CXE2byhr+~T~$ zG^Tklx+=6GT;4>gAsk*)`#0~WGdG~6u!BLHkVsqGOPe1mARspmGoDB?8|Rq&x5d>9 zn$+8Q;0^9pRyh-3CU5Epb_|_D1{9~Zb&%x{7H1>fY6lndkoIOaEleysK~kigA9@Oh zcaMng%__Pc-THTjKYzl|R&YIv^zVj;V`4Mhf>e+}M4)!g+R90B4in7B7=+Z(jxoh^ z`#=n3gbDi(F@MMD6tL8iDb-Yo7kBOQ1~_YXeGWS=9)>7>|6=R%YXG#5T!Sf{x1)Bp`l ze|Gt_VSQL8*POp=RQ`vY`ir(W%*er0$HrD`w;O*9%)u7`U&g{CZzU1ZF!DHE#@7Q( zu1Z_&tyVm)%Ibu(wAdOgGNTWNu-Z1aohN|{@Ris!E3Ra&ZI|v_x7{bV?d)E|&a(V+ zq(&!oKG$#u?6Whw0-zaRMTYP2eR$A2;D4Wzt8(4M{lMuA#qGW5uEW~Kf+%VICj&CM zQw7wo3tr>!tjxvgVZr_RZ;U{-cwHz74REkb_$2Ln6xwvb6Qk77Cy0ks6@(wIP0LT zm`yV@d%n`pyaJH6GmSg8QFpfb2J<$?urGp|aK>m-2{OcLv=eOcoL^>3Wp9-d2U3l18c|)Up3Z#K6V1`wAtJOk_KO<|1#VoW6zv+6Ln)KcT?}u;yS!uX=~>C{ zUr8qCTnA>4S>pf{o&qRix6Kh%1L8js*THm!Vbji9@OUcGF6I`!5}zvVp*c4EGlgM! zHkXe*H#%G1%2QsO<`zu4mGSRP110!%zY-8$z&!!XhOFJrmZ=B@8>O~J~)jcdFZQt=%q?e`#e z11;V%Uv+j)HJYA1vre?Uqh^R?6ted>X>bWl!&JhaST_WxJ6^}1_w=uC%?G|6t@`?oS$Grp)3lcwP`|J;r zNn*$r#DJr~>%#Og>TCn6Eiw}sR6tzCVFo5ECRWi*x*TokkZ$?iT?53%FN#&fwT@;F zCx>gZ$7YtPQlrO(*Yu8;?;JHB+)o;-D46{matpjlhUm274mEro4ryYDz=a-eoI2Dw?M7;DnIx|nSaKUZ>30$`^Ymslm~-`ske7x z&-jeAtzF#cc0yiOm_LrpQTYk9!|gfzGuQ_pX|)UJ4~0r^kR+*#@Aeu{XIbTZj}NOz zAwK7wm)_1=;E6TGqcgILj>+hkG?RhW`&?oPb@-@y(s#afpXZ5{E}vy*ts!{)woZgg zxbf{x9gO0^dnA^d9nm6ShL_v?dmGKCB7yV$E{ve86V|db(CR#o+s==aoECPvhRMIH zaO&Lux(ZkI`@da{grsNR_&L@?$YD>zhKTlJ_nwhbW<;3-uG|B={LD1kpc7HPf#Jbq*`UqrqP=L)#)sK!#sJ4mDw{d_7iX z%r;RCr3E<^ogVzf^C2q81#Ze{V~^M9pJn;VykO~jNCAAF$+jvMh|6>uvt{oIH<20QYZ-%Oz`oh z0zqmE<*x-90uCfeHt8q`NmF+b{DVeVOn3Vifx3!8b-oKi?C%4Oi`I5P6P#I$82xi9 zlZU=~CcpU?JBi+<@hJ8pC(HQFEm&bzz8Z~9m@$o?Ghz}t#H@kvdANj(gKUgayR>7; zXTS9BA5Y8;Z;X$7A3It9*b1)t#Tya(L9l%K+#sO^w>KrNUA}r=lIbEZQe|BSc`<{l z>{ZEaB)(jQdJ@^GtvI!Idt39HTNwPHB@K0+8psi&!g-eC4q$IC2-|+htX=iIrg) zI+vnCQ{&Na|5YQSM;qM%8+YN2h><`2dPlX@2y2o{5OmLzTt)qjLWgN?gW(Y|YH?N4J~@w1M7q=4mbwPLhp}%!-Z9*F~Um zhAiyO&PwbDo=NY{vBaUWkZ{>$Ry2`$7qO&bVYY-c-5?m>vq6#lNAaClp=XVlyA!b4 zhMS2+)9!L@^=gHhf9`AxQ=lp;eLCr(kJ_6=_@mTFx;DCX5+1OBxJ!1uhO`qyjv=m^ zy1yPFjxZSrx@*mMz}jIs#BKj}4{8FbqdX0Kb!ida{efpcJ&0)nNfy?p*7cT!f~tzZ zrzp00>LhuFLWpM`+Lg3xRG&;xFIs-yJw+}ZOkXH4~3wG@Lbfj?M6!L>iWHr>|wM^@)g5OcpICdR%tERFX zL141BAa!d~hu9WmVDdT_b!*P0h$xmeNZ)LykNyEJQkYrM13=nW^KuU|v@o_2R9`_Q zHiw3z6+!_h9VtbT@6d}E?SNzh7SSPCFzNVcIdLJ>9Ne9FI;HG)Y5~fCyxcZLvL*$4U`&+ffEKNR> zC#NrgXa@FxS15IVY1WE{f~Ynl=AhtV;);pW-k@(TUPV)5`+oW(=5H$L9WB*$0)bce zmcYAVdrEX}xTF?AP|R488?qWh>}(3~IWt99)buQT7$-5;Ym+!TQ*Iag@j@}!enzxmk?YKm6z+kfum|KRa^FTcWk z^Ckjcdv^F8o0|$Ww`9#Qw*-^tp&V80W??RofBYh9FU_lF>= z)}hM)&N^SJ({G!wJ?L_GY|Z|l@+q6J+29H$+r3@rK~xCxi$KdYtPMWt#ry2r!kN`h zZM%~Oq0}+H;n74~t@wo8>Eb6FN^3kt02-ho1UD>Mtd5>tJq=eKoTS_fpYVOfrOiM? z6m795DCqBAH3RE zySdk^LkX@P&(*kt^YI6F2aTif-l423R@ra}xJuyYb1mTh-0l%)7v|fjr<0wkm3A*m z$bg!bE|C{<*o`F%qx?Jw8Uo22pr6cShoDy*3n&c1{rJ^!94-|ueC9}&Dsj%RO2xxN z!_Vds?L6pwWA!hrX`#}#MSaZ@%cd>)tG*4_ zzo3IygXoX|g4-Hhf~|FeP2ujFOYZ#V#&!h48?R_?n@fthULCaFuKz3^5BHfV*H}BH zHT>K&TVC(rey}%&ue*3K*#l!ABLK=F4GT|&8yGezX;YSIi_a6CX^ZbtU|}01OiUfX zWeGE)6#Sw48hDhq50R_KiEJ8-*F!cFcFnb)=m1OP6e}&XDr_(~o8NaH0LW&0(_U~t zl?NKLI+A##XhVIMn!F&jl-6?A6lYkcC~8=T&BLdN=JzV3{naY`GAIzg`UwPvFqBVm zL#x0MJkDr}FNB(;b)3?-l{dqy2EVMfq;lvBPZo&-&O%?+jjCA&szzOeU)i)H@c7^v za7O64Q*&O}6s8Zx?p(`zfDZOv9%38@QLHR9(YZU29<~g_XrfH&31pJ1bB6tlmculo z1jgW{xcy(;GxJ#+Kd;Gq2RCyba!d%rkk@qVOYhtB9|yM0?m$X6y#_aA2c~2G8u2}?*8o? zLtqdUY3+qF7VRgPw~RW9l4#ZA?gNYRlU_iNEoN7fAg6nh1}S0vTbB}^%KW(jNG?-0 zn&ST|M*tnJy)~)Xwxc<){c=4i?;1S));-fhfPDL{qp>1t{3fW@7xl*Ciz#9boel!q zHG*P~E%n-G5P?&@a=^EedI^IjLnT*fgw_BH$*|{`a@6kt?CTzxRu3}tR7mgw1K^uS z08(Jk(y?1;;GcZKb3b_Y&EdsNk&mx@p?;_KJ#q=Ml|MtHGoxAp>V&Mvm7{kCh7*(v zd4uCJO7`my5iJxKz8m(F=_Ok%0R+2X99 zXm&fU*W2(oFO6ftM(pX2J1SRDvQ-CEB3kHt_?2Y%X!usgt7fG0(kG9Bra={*XIF@L zJTVxF;t2(zgWhhO4MFW$)9{@wto>q$Q{Z}Jlgi+a`Glu-;^jpFgPVvAgVkYn2wx$& z3q}d3JW>8UBB0IPhlI@mpHRxnNT`g4%3fb5F#5}qVTp!4t)FL*UDwhz6wML3F@veJ zk~|p`TvF25R?HxR#x};~UR*w{ajCmq9jgz>UeXY<25pAi#d_)x1AY;>&NawD+$i+> z#b*`F9^M3mb{C7X3Tco*EE_PyaLMV;I|Em0*ta_{MHS>eZXeaFzTq1(;a3A}0{?6U zazuGdrn4pwA!d=8C4uFb`!`8oD_D@=m~7?PpFKG~yZ!`DdOneJHzWrOR>F_M@!?v_ zi;ksAiC)njmyipN39rp9mRR_|s?X9&qfDuN_HmlHeVCYlJ-Ajx6#tqq2-)f_3LkrD zNwq-NC&YC8Cx)D*sv+Szp~c-8kVG-D>LJki2levmqUw8aIGi(WcpR&L9cM$49L|*b zjd0GTV(dKsJO0#t-nZi!6!1SR(a;{V$fqI=!+@SS=YR9e**%;i{n5-d^7Z=hU189> zd;_B;6+M(R9AXss1T~vJ@ox-PTXFJTBe(9w=_T5*;c(ipA7+Ym+sjDcHYe!y3p!ux zzRNxzY-Q&EwFH?I{0RfdPJ5psVH6ChM(Nju$qRJE(V#>#DDdf4X7zkLXWiC!4izeb z!ms>gXiTq!8BhIYh+RwMG#1>Jwfw$0*8=njb}*=njP=w!?P$)ZSZ*<>8(vKN_eiOYH+*td^>?{<1rc`2-ePqSG zF5!efCO>D#X5lqc-frgPGcN0~$8$y(U6)TAg*{;T`ugVXa>(J@V%;<$Tkq&}t=p5P zY_mg5%&{kUVQszsmZzDqUq-wJgaSK_%+xV}E|x{Fft~TbsWl79UazS4BGpk~jcT!F zcMUbLX=;qjy3KdVDLAltAvQSara*#wpkzc%Vjm5clwKf1I|ce3AeV2t{kiG8|_wEy`M*P@Evy`5!9AiDlKWobIfsCv!i!i=a_}NKr$H!ZAP-!2ua4R3Q z95&K~X&nxa&+{b@Kd#-RYu}-wULd)Dm1wX=G2s~&>96$#__}mKg%bvrE~WdeCF13Z z56;^M;fI?E4;hg+#)cJb)1rl{7|GSgyPo!8zW^A@ca-1()*uz()sw4jA(x{Sy?_?9 zTMvolM!Jwi4Eil?bD?xM3U}^z*{+QIQfQ$}bvhY%+OyrWefdXM1;$GKNZab&(ce%# z-uwkoB90uBs(6;NCHxtJ%tt84i#g=-Mo$gB6R)s2#!Eqg{~=$}Z0gFN;NQ@aEWdUL z$&mksmRuUN*7;`qwwrRQjx+Idhk8S=L3JPpyev=^2bmIvquV+~I!Gt%#xpx)M9rn( zAT|qI2=(YuQ~n%(=K7ygw!_{O$fnXtj#+gg>i*rt4*zi}o;!Ww)BAdq zi6Oq{h9N#z0epyD4Am++Sy-s!e`9V%KX-g~_j3CD`x#M=&FJZ937*KY?u!qC5Eao; znp;q@9#?JoZI@9&^{Kr+HMrJrXgGa$?qvdw>k;UFF}%Pj``{aN<@&#}bV+ke_s4n) zVn?H0FU;r{>w^%+T{$fg4}&WDvr6Dm2f;|0h0)_`g_grbcaljuKLo!Uo6+S(6;0pk zaO}xzysu90NBxeIRe!sE0CqE6)hkc#?|;Y1@*9h~kPKbqG;F;Dg2Yr|APm?MRX$T9 zE_KHwL82>ee)NkZ?k%MI(!jXN+o_%0%1?0a8!p#(lbxz_QG|+}St#~{6H?QWc3-WB zL(?%#iXw7tNsQLH-ztV;Y|o)Ek+;JMIqn<9@qI)c(`P96a}uM;R|;zrR0dxp<>jH3 zvFu-0Ihxvicw5gte-e2Q0z%*a8N@Soka2O`Pp`3?Dj_O^`Hm_LPifD65~YBbTL%&b z^L_6eT;ym7gIL5YU>fFoxsaa%&n0ofK3L?0QeVtY(DXxHG?l2a5}BvH-$a3r8Zg_H z$cmEU8{NY`(F-W1nkUxT{<%98u(ayJzqz@=_|m;fqXf{xd0xg z3a}Drr>h7!Bp@dg3Vzw zu#9o)1S&mAF*+Rrn}SFk0zb2|cm-E=7Hd~r+;Ik;rD+(`?N`&& z8#}1^^Y&vHGC$4M%{__%Gfzqh2}=o+tojuG%rudso|<9Xd8;whxQJ>HB4s#(Rxg~=+iMF|TmNZ_)Z5$J3tNzFC)gBLR z)Y*Oe@z863g`z6i2{tY=l$Sg@zSqmiqEq_BGt~|zvfQNla>VZq)HoO%wWfTOi%3SU z9SZC#q~m~wCb|gdH)!2*#AO42cBa9AUjKDLUpM?(gPy2jChhjLK>0o*1F~Y|14*OX zgKwLLY!6$UEm}MykogsNdKM5B!0rO5V&(wg3YlHPe)^29^J#H$*Qctwf#Z(&fk1Cd zN}4F+`wU(PZ_0APf?UOy?%7BBj{Ckz6G-Q~>_S#$I7wm&pFwQfV9rcHC1CsjaxGVh zsc~b$%ePZMWBOZ8JC#?#GJDjy0xX%^X)v9MZ=-+re5(z$-5QdbLX1BN5t2H|S$ydZ z$`#5|ks}_^y=%nS9QM~DyG6j$l{i)~)xs-dLMP6(oB&%7(=P(t8|6rT03N0jSATsOyk)^<^ zM@waDcr{u=nI(T+nsQ&FZAd&VoQvb4?9SqV5jrCf`+*;ss zV|_U)U3qwmWO|NQ=646y|Hd;!=IBKRe6X99&NIfw?$_BVuHn-gu>_Lo> zJ`gWkaPLfeyXQ@-e&;95&Q8w$I+}a&9Q@b|txD)j$;iPpC8Hm_(!~U}p?thwQ1JdZ z)i{Kj4MWO5NN=-zhXL0`ox6f$kc=iVi1jD4AJP-ETx_H9Nc+)}+ z|1wsMi=A#4tC~2>jaDjEHtZAHON&-|+Ivg`{oRKlD&435Odts_*=x0zaM-*9<9WEc z694Znk_%OfU%gSEfg5bD5NVU8T3h6~NQJfu5=Ue_AyvQ$XEUkZr*{)9G{o4Glu1i7~ayowia|y`N`bR`Smcv z4{@g){+!^@ZT0Z+C*zAWv%xU{ier5LntdDx=7kV+0}WK?{VU7^%B7ZFr;8W1_jj&o zbUDwIu{%Cs?>w%+f7VDv!!v%E*Fe=XB~z@D`+pnFhPQgoXs^{qUBOETh`cArwQT{> z?|Kc`fn?q(ZC>slbshrQc%~2AsPLOeBcs^d|6C2*6ZiM2oy~seN+~=KOsKei8s5MH zmbiW?JmfSs=LXc&)dx({=4_0nR(S}2^?ob9*+`ud zIoJAmosAT&^1usYu8lDS$NG6APfi2xdaU+zv-b3l8+x~(I%C96(;nR_NG0gIS%51{ z)liF3{%84}rlZOGUru!TfP=LbmHo3G`}#$G0V{2}_gZq-$H(e|)~Bn|gI9SEaMPHf zJ|kT#hS)F>`%) zKalK%dE9Q9jNCGz^A*M!H!}+FRA0PM4VB0#)2nRmM&q4VNWlcXbcVbskR2Enh&Wat zaH92N(S(O+%$y!F6a94r*={`q=^&8h5i;WJEaEN9SS7oUmn*+tue&tvuoOd!5aFw= zcks13!6O{M6V`S(V5WNR>O)V@yO7<$vquPy*yuGKhKs^#>PNex+H8o^^YIm z8-|NUs4jLQF#aGS816;`+DDrs9irH$FnyZ5!EGPwFM(qS6CY z44vtwn|p{K&WN2cf`f+|Ud&puZEi)C^o07lq`eN555Ru#dSY$A@(aMLZP&)URbHyW zBs@@fVflqs=V|bo$k#oorZh9kbbAcm5m-9a)yE-ykTYN(yMjdE^WAjBNdch-3B#f8 zR#d(ASTti%*f&9{Vg_iXD7Pa>e~{LwsEf{Ab7i)FkOcO6EGtHWwCWuEAB{y|M_jl^ zf(aBBL7m+7XE2v=!0JHC#|_}h1E57OMfCAIgaAQ%yeE79B|arw{Ffpi4biLl&<;%=_V51F(T{(KqjycuEL>UjcY4yTv{cp{F2hjiEoEHI zB<%Fq)aQSg#SU^*oUU8g%98&^3XQZ@j|!MTz|AD|bf;APvL6VaU(aEBl%CK|Y!KEw?zCYu_MN2;&bX^urLuDBZ zvSlTaP(!hX>ZN@~&2Ca9P=cGubl}Xz$i;Z3Ue0hNqG#*m;>Xbo)(aM$@I13UdGO!& z_4D_O4POEWWOeF?A&b)C3hSy)<>@8LljiQ&0Kp3coy{Tx!BFr@d0Bsj9u zX#cn*(2+Wmoz~WWcA=L923E&-W{SO9VMf{z5U0cDDuQ`JvYTbw_{MIt0;5sM+fT_3 zO;?hf&9opba-%H@%u7gV#g|*hD+%@ z9~adylAg1x>~V>X@ng@5iZ;I;U%#`Ncnqg^O60es@9#%2lMj|pEW~ur`LB8-z`;z8BR5L=DNHl zYL|Qi&Otcn9oGkf0%xBWt0ujy>JZ@xk?|Yo*y$}7ws1$B+n%#QEz$f47(rp2sW%W1 zh)!J-9$VgzhNd?#TLNe`wvPBs@=+l7WLm$5d|nA$HlT4vs82tz!XteY0DWWxRa{@A z%=Z*<%FNhp`EsZA**j@}16se#)NsfeL~vqiDcKQ=M-Q+z|ROr9YYl|j1AgoXLwyln0x z@vCoa-t`uJ<4G)TO`d$#)VBVqr+aRD3jS-j{1u;8xtR2DrMA9xN;h;*;pO6_y+Nex zmcBG%s^?aFlc^d)Mt+lt;8W=MHnaBC`FQVW?A^}YjJ<(BmfZC- zk{mf~d*J7T#3UX&(oo;3+n?!1;tFRmX_)3(r2Pjd9%7c4U7_S%jJBkqXx+g5qFrI= zA8kotnJ`I}PxQZMl~3Oek;e0(a$=K=AR%`4!~ghd>y~BI3p`n%EAeC54j##)r4(@R z*2)O%h@mx6RYRW-iMRYUMr}zy)X;}cEsLBUoIGf_@aJd()PND@>4 z55lq#^UOkxL!DTV>XtrY-!A-ppZJLWCjJ(2!hF6UjJRX$Ts7yJF!gi3l=mHx_;kl~ zSYB}K%c(V#1(AfkdnMlH&H7g6$}^S#m#fqYmjAG%`pfkRKB;V$#+($bZa5y)C$lt+ z5K;iCCqyQwCf4W0Hg1|anD$u7{T2#1V=rXLtCJ)7EUF_?zFKq{J|bW-in>aF4%Yj?gQt& zx&*ztb1)J7hHg6AmsiftETLuU8-dChWI~h{hG0fj-%%2!!S`A_dsZY2iYv7Lz&7{z zd$A4C9UbzB-hD>JWIDZ}v2@S9jjIs+a}vQhVD%v2`ILIx%A?kGZSK8Ay|tBICv5xO z!+rhj?V-lo?N;y6t^VZ=_~4DP(szAsr^quDe%5fR_deWJz3cmbKq=HGhGhH;rLYe8 zBg1u%w^HdG)cE#Z7uh8*eCzq#m^Adhu`XqOWJH}7)e+wNwUH$Az14Gxk;pl_qk^w# z2*Y|f@nT&%O<$T+t07@`m?ts{C^QD=@rfej(dW+c|L^XB}%db$L`E7K1T_gvL820Qe1V1D)~VlZ)f4L03a;OT&4X5BsG7BERYL} z*#>PQR4?}11%Z6G@I@<&>6o}Gi&^#0*&0(2WP_tb`Dk4-sNNHkN}oFD6tUy^nVND* zG$w7J8KW6JOiR@Rh$GlIJiI}L6^p(ZE*kwu+l5cP!0pu=-|998fy-rW zOSF_aYaf9-_TzpVbj|$p2?b9vH{YNmJPno+WOW-xbNnTxe!ri<0ywp zW_@;=jf|r{tGLH_Gp&P->e4<~-zNy$foe_B9ASQS z`a+L^ox`59{VSjfi21uDL>U%E-=3$(Z7FD)`|_m==I(E7O$>?`HuVUahNVe>nu91v z+KfZj0XKQ+MugbNuYfO$`iuG#HYnL(>JGkGRDPQ+K8DB~@bG-lTw{Gr_NacN9leo4 z`yJ0C%)_3{Gmo!qFko{voD7|R&4psD~T^5Li5)#KY=2xxZUPD0NK^hyIjysmk$E9M5@Rfa>O>!_hC3au#D)=v z+i`>q!^qYBzK-RBb9#7)`8xujMfD2gHdw`Z+1R-Idua+(`p5NkRzpVMTIhCu!wsq> z$&jdm^>KTs_qDP7X@3a?m{@_EEe{8X2y_Q0MOXdij!JJbHE39Z?(x6`C1l)UDdg;& zPUW^k(Ui)LLrT$dF8_!9SAnGc%2a53nGelsPflCP=MZg*!ruy16%2UKA=d%BMDD5; z|4#5OTZOVyOWuxFKtnIpmUXT8M;wg_3`w;Z-c*loAh-9znDI!8b3(Fl6?ll{ zF@75kQAcZR+^!S6Bl?0Z##R?nXgTp`H3UQp1P;JH{au8;EgmY7PGHVjQm5I#QQi!%kU$d9>+} zwjlgdKs?AeFuHKL^(JndeEoSmiu*NU^qN_T%Ke2Rkd<9|vIsRi?#L66dBqkrm0QQvJjgkf-(ML`0u zUGP_Pl1*kE`3WIt4h(_66xUwne`XKp^pH{(KJ@eqoTLaqD(1}o+vdu}u3wZtM6{Er z0!pIsf3z0&bcvRy6!vt!5yYiaZ48h%F?{Ke{R!A~4aEdRrb@#+05u;J?+vr%?{hlO zwtbPaYA3jA+`r)tc~m1GO0*bGy-F%WhNQ6XRqRZSNR@}HeV5#q2%IgkXQp=mgD1b( z+4~ZlW}7c{f}sw;#sjZad9lx)OF3P}&*oh^$xWnmr?KMGk13r@KM^}P4vu3u}8bKf20vMJddj_2|q27YW zV}}eWSngffr9aL8%khEe+R6rF9N8LNP2wgY-~%E{4OjgqPlzR+3xWo&pd8G{h9T|H z>x2X|`r9aMTC7g06dX$+r66SS^E9ecS=iFZC*)uL)3GPuY<$_ui+C7$ulSMlW%+e(Z0!7=J#*dlMfvsa zOm^=6i1{&ktz_Ya6wv+WSwuFgDYw1IG_s_*{r&o=0>OysfevkY|#7tDk-{QQrS?7_d5aY z?V5duFIvv-gC&nGSKD3X-~i!o5pdeszBNwfn)UMf#hLT8EtO!Ew8tXU_$`hQirY+c zl;d=8gKf52R&D4Eern0$mnfV&s1|`4EexiXJ?C$$${2BOrggK!g*;0gV1-YM^Q4f} zNuA#<()b0jj(2Am(TERuP{=t~ItSRd$TnX*?Aa#l>8FOsH;8!J%SY0n56Wb%Cxt(4 zPk|-2-(K-xK%EB+qK@44PFJLaGW9$3TeemoI`+M(Ch?cQy*tJm6|2<$0Tz&(*79!J zU7y)L$bGY+L?6ibzV##B5&F10I^k_{8t*fyu0%-MPBa-?!s&6&k=9W!L?M^%zb zyM+>B5}L?@It4W-(zx@=S;dcQh(fRm`#v@PBc~JOWmARB-EHDo;91*i8ly{Cq>CL% z8M3pb#$u=(dJuppW;pU~2jiSk=-OPtGeYsZLdX>7U%>4yo|ZRB*dFz&;I$+>NERFe zj*bKaUPmd2{J1wLGVwg^MJ0pKVG-u;*tGDE&g4@V z{ObWAxnDzISwtz8WK6Lqoi_)9`Y6}X%b19lJKbDqpVun47O{?DeJs*$(pD{f+b-i3 zNJTSVoQgWTF5wucjQ2~|6s$us47Dn&4tu)RUl~1ICLe9gBXN;DxiTS{UX~VI#@ej)Z8mp<=*Pv%q1E2gahK>@wux`p7+CK35(< zp#rCAcv&OYo4}4LTkplvZLu18j8!pZ&J_+Kv${7pg2dorvY-76C$yx;APJs6!m}j$ z3w(J|-23e)j-6*Mx{b((;7=k-xP)Fn)Ih377rq}Y7jh^}OJ9v&^wKP~7uwQ)w<6EQ z{{MePF7lr%a-H0NR^*iLMt4Dv36_}gmFERF!B|5;7+Oo6up7LC2!s2^;o7ui4!(y4 zAOi}<{A2vCvU%s#Dl0&ehK_%*y^1?ezK3JgK?By3%OzE}r)OaXOjal!M>fsE^8VV# z7#u5KY1*RUm{HA?BWLJ2J(ew<3dZ~W-2XmAk?;=X(fH#og?M{~K74=Y-&VHssJDuy z++;{5g0hCvK7dVTWWfudlBx-s6qqMbm37U!!)jdPO=3T`&}Hy^0(8Up5mjh zVWSU2LefH@nSf&Yoip`NUw6qItj!R^D37eyfy~IQTfZ6V@NZL-u!;yrql&`Ep)dg_ z_87Zh_H=`v`CRgtqCo>P)k0<8f$_4~B%M29%~=AMmy+MpT0+NCFGjW@QD_fivB00B z{Rvm(_M<1;gmu9iy=?VgZc->R88>0d%_|08`S^cKo_GH?c~Uf&;c)S=`jg>(k+hSn z^yD~`kZK@ZqMZ%>mB+gY)pYv}fVWylLW>?Qv#;^MO=+F%NSds~wF&!6wccf~2sL0h z$nFj@F;d|)e^JMU_$)<){ttg?hz_f7rzp>KI=s@_+PS0h=%#e8hIZ6COFHxA=5yQa z|6=d0gW`DGbzLkt1b26LcXxM!yE{Pw1h?QGAh>&QcXxMpclR?SzqQu4q|V;^&r@et zS4|Z)UDP{0J^j3o-1l{t{{*}3+~3u|d);K@DvX?+QQV9^_mr>YHJx2}Nap=)`mR|L z{FhZsHE~=~(`wZOcc&J$yZZYS+f0*wz@W92{#R_rG8NRy+kVrRy^pGgdR`-<@V_}l zp5GrE)-%Yq*UP4OuDcs%F`*5w-yAN=*Dg;jFC>jINSR!qWJbIp7tqrvp_kSKst)<3 zl`}}Il9*O7P^lPQoe{8gem-y=4;z&>;Y~5_0|>b`rN5cYMtjUJjxd)V)byswfnwtl+_ltOqnNDqv^ZSU>IWr{M3&=QUE$YMpcmLwOi$<4tsjpM z>AQqSEmX&PeCScGSVecjRj#bY$JX9BZx+TLOPEH@k+bMC+)|-bMFdh*+S0l=B_j&> z@GFpk42A^D0n6EepL#=W+Ymu5f{A1nD%cF#G`)>02B%b&0JhVY z5ZuR9hkk;W_44nmLkXRVD543N56kii$Snm{j>l?82KnThQY!$Q33Px7!m@qy$#H^P z_lGEMR}73!Ye%wdggxW*j=E@&?zE>?H93l&r&Umr2B@q3@MF~z*ED_Gs|~wcT@nIz zw{jDoe5ei_;Q+)A=v7SO=fyF*U>LH%$~BO}Rb6WF6>yD7R5pO3XL~bNS+XChQ4qu~ zr*>4%3Je+&MFmtIjUu;B$2Fz4ZN9?ghcn;Mx*8+Is_Xjw87$%39s=~q=gYA`dXM}m za^WCS1{EfA@<0&Ingo$78ZLkGbzAlcC>m*F<^VR*I)o@WJ%p$SC-*JIf_8u{#=t={ zVK6A91;SJ~-juy|_J{|?K<7g=L#37=wG80%DZukgJ7&Ij7xHFFP~NPINC}=4>6l7o zwG+k=Fs-o@G9e@fDG1^Q5y$}kkU_|Q3SGdLzj)88<#+ruL9Y02*bEo^wgZG4gGiLq zalVg&2@HV61Di_!{ElT#DG~vwx+S{nFiINyRyj}D6##oHT+KNDr8E1LWbZRJ_1SToKTBaRqCipY3 z>-PaBku_N9z2G_H)SSWRr>IPF@Sntj^1pJ@Lt2X7e?+TnMgFq>j6N_(1(9yy3knI* z6#<@JbF}d&>ok)6oO)*iKz?;sEh*@oXWZNP+;2C_`P9Oh?BjnYigT$=-GjNq+rmp~ zs1YVuEXCQ2nes*wngO=BI&}d(1^<#TcQ9RS2+w$b-efG-3Gl#ZNtja@Bmw}CEaBAn zmnT%y1tnX(r{CN9h2giAGh8Z|9_^ND5`c^hWJm=432=j~72H#XJS>i_#MZ zyCy&VRzUts@=|8IMV{fPgjSX3eVI4Bt%8-QtdL=o-{cn9bid&8*#{mczDO_IM~pIg zArzURR%{?K^cL9(*N_Opkb`Ey^r7s3W^m+v0GB&*hV7byaTa`}jy~2KNP}rNQ}jZ4 zqP%F%BzI_0+P-Wo?*1eZ%88zJjSQk4+pBR4`GcdxmOQ+c%chDLqRgr6zWj9Mc;%sl z{R8Vbv3WkKk2j*OKo}r52gc70^Co?IrL9R}3YJ3#$KdBTGF8c_QLJZC1VtN4ZdLI+vh}Xa(riN0)l~ehIbE={* zK0p5^Ro)?q>oY0H+n=haNU~kH_A|{#Y9~9`T(*&y7fA$rYbnYk+8)HCDuOOMzCX@M zi3B8SjVf{^k|@|W_}ASbCSAS&7N==Xgo_2lAra$>bUKxSXWs1LPARJ}+FrRP5e50{{$4BzK*1^%Jf*y4N^VQtyH4NR28aBAtR zV*k22mJ=lNgXpBBt0QUmPh|ekafX#}hOkQoU)K2fU+-Ep(0kX>=%YTY2e+Ru!H{7lZtADXY{o-kb+{Hc=*TfF!j{msWT(2JAB2Dm8zL8+1qhm$csz2mLIeE@{K;+g!Cn z$)>9McuR|AI_4Z&mV`yuAyLACNCFrPd-`6W*6GRk_tgYs1)p@sefdTj0_2-GB=&Fw zv232}I3zF~OHIWfCZ2lCaq(1>!ksMV$wDgQE{eCm_@`uMu)reH&2UuHIy3vdOWtJ~ zW08m4dMXwOmr-#UvWVDl9wRInhY$~?BKRStCl(`~1G8*oSf-6nn7{o?Ndj)7r!YvM z&B`C+J?suPZ9!dZ=Qz?kZu<+IAr``XTQMdj3B27Vo}Of%G%PRSf)EQC3Hho_9+>>0X1 zvLsswBXkG+pVQ6KymRd|LJApLD6>+AYF>ZlsPjcrU=K!90Fsgxf4HkxrA4$MLKuLlYt7E+zzVs=R;&<{|#3{%3(h|18kO z1h7DLa2FH60_VV+nLZXs7$KAkSm4md0$-+NsInB&m6Y}fMHJGve6x6FSp?kSEAvJr z&%gJLu{l_sSaYkVxj~^GIIS%P(ZVtVP2{Q}YGHiqHi8k3{13(%OAamUgC_`p4Jo5} z9Cm>?wm4X$K!}{UO#csAZ0#Si*vK91SPMcFpnniG*bCMOQ2@Gw$MV_n^Cll1>3zp( zzehaj71};7H-TN2IrKY-JIr_PqYF6qu`e48fvnhTw*NErHX( zS7<2^?qT-$>dEyNc+b&EEd!kGzR`mMWZO3#jPtSfeUY3@nCLkk`Q*6Cu$=>Dt;PUL z$CyEV_%NA1*dDNC*aA>vCYH}kn45g%v~j?_@POkC{xjfp&1+1hQVWkrP~m<$xLIMY zb+bTiPO~~AwRn^n$7wPaDIswmNI6l71c-5>AIG{atvrvgS7ka`O@UJVeCos@mX);j zA{tI_Ac)mv6~P3W(8O2OLWAO6AMVO~mB{jV*?{P%WBV>RIDNLy(w*Zd0?HS zxJnq?pS^nCt~XIsL5<&a`VfIkRmW**Rj<-=QSQUi57s=FPXn zjPsEd`wdN&pVfC4#_UGp*F5dnfBbqWX_p%K2F2p6z0Npx)oXfyUDw6=<@K`%zR|nC z`oClbM@b&y8!0SGbfsAuCy*Kb-zSdh1i^lhhj6UFhr{_R8d^QYMp7|H$8@A@Hf31B zjnpYI#_8O(oV|G{vT1)nuhJ26BKYrPEgRr!{?w~TzO1)rJ#&9HLT+0nthjEt&UKvn z!C$yVx^ZsE(|vtZJcx5`#6&N(A|Wm9{xS#v}tbwYaL{Cc)9OWmRz-% zUuqlZ?ahgqz;W;2U9_cmeJ!-6w@!jkTjTMI6D~+~htV;lW%)WOBc~FlK?JpvW5C5G zl0LVcsT~h7J=@VDB@@~+lTd;z>8IK2qdilApC|m5A_~B)i9el9UbNDSD(|kbEzL>T zE-I&S-Ztob@};Or+^Nj2X_lRLjq1ook5asS3GxASxjBDX-|kk!>yy$E$2!Mw%6o9_ zWt+W{Myln_H2?fAzx2&Y%d2Q3)#zz{lZnOB(OjN|hgP#%KegUA>@9O`NkTO%<9syp zC(c5Z1T~^UsGsGqTKr7T*}j(mx6Z;5zbnP$=jLwIwydqAU^R!Ye|A1U>;T%ilnVD< zF|cxysOw+7G6kwqb*>Sm<_HWO(!u@c@Z24aT+h1n1omtXf(YW?n{U%z%5nxP)0#h>+vP%V%=c!gy+`YXM~*yg9y zzk0nJqWz24I|?5})%LLX-Q_jkw9VZ>w`()Ox-9x|y@!JMK4W6_O#I*gXPUhk!{@X~ z?2_VjNF;dLrrAORCEi=VURZ%}w!Jf-kw9XH@*to5!y}_0pBL z0=g4+&NuF^>+a|BUrRVHl}SLpG}zXyW}rDdmGH55EsBYRa4A`Nww4oR!wU>TV2I!n zxr`DY{WLm*5rkN2gK>HG;mf3FN!Xn1e?*FHL?0of@VxVfBRWAFhUPO>&bfhb7M`%a zAhnM@!?^R9mg>&9BK7&VZe9*RScAPNv!BnhdQR?28*ZjkZhdU4RaykqlZ)KwXN`mu z_u(%uA@gG)u*X;cJr_9+b8%<~SFUa-c%)}!$e`--Vk@(X?6zrI%$3KO`15Cp`|q5f z68{*zQ>d70ZoEv{!~fHtH1U8Gtwq*+kRIy-t^VWu9w~A?Yslv1JOI$TIg)W!0ViS6 z)j}Ra9{BKKHaZDqlpl$42D1CHgV^oJw8ogzab6%@5l6?D#G(Lt4*=))#TfIpFC#(M z#Jcr8+a>elYAWgdn=3yOufH26on)8F5!)HOI^W89nOXs!Q)R;paKu~I(L11OQr?hZ zLGjuvmCr+|WF{SVq5d0*?C18wJG^$?k%uc0hnUmEoe?8_<)cK9i~$R{B&0ob=KfnR z1YB0BPM@j~BVRLN*K%nBc0VQX zJg}oO+ikN60_qc{F-+9(a$BTqe^j~MW}tuU+7SkWV=#P(#_>b7&G`}3P8}ttH!g6d z1+ro0lmB-e*jvw+)Pv;eHYWNn_y3x%ziqv-kENZ{PIb+2l0y0BTx-KUCfzc8SXn*)twG0m|1}#_`(GP$ny%M-`adM!c+i*( zOp!$3? z#MZQfikiYwt!V;ZiXf|t5Zm&5(Ki6MBz7mw`-GD`CVl!!&c;}M({9~kOVO?R>#Ljh zIX2-|Z0Y}Ye=ZjHQj$h7WRl*b^^gl|YZxG}e-d#d*s5*=XZ@us6!Z;NKNJyQdPIV# zz~6xb1@KpY#RV9LzB(61op9df=C7XDyXpvb2GTnOEJ3QFIPK+*5wr)NFio)IK1J(9 zCRc2BzlM#_ZBu1v$Pa80hM~6%K?Guibbk#21(?OBW1Bv5uV>B^632S{-w|IMhhR5=AB?~bhcVdL2~BMz^sJF~fwr6x0NkhxEG zllG1sr^k&RzrQNC7IR|ltOZ#PwUdV&>NA^|PTlO#j|g+mcl3qhl*GYpv4b428N%v znZr`){qq>pG1dY$wVucKmjMLLiAs5GXz1^wVhb}~rgBkyF~6u$5cCY`EN4N-fwm@` zA*`V#aiP~wm7zYQU*_Xbnz`OH9tD^@D{MrY`P(T-FDV3N?=bf5i-E*!`3&Kw5k9Z@yg% z1_>Wt1`zA01J$+01vBPY#{}~}0OJFx30%)oDT0jQAHJhMoI#9aMouN$ctp}%H2@Qy zQSx$fLi$&jdGx`l_CRCW>ccod6w0F)3i;C%%95i!dh(~^3s~dHj(qr;dyIMg=(He> zZuNpXKs46>CnoR5&boms4l>W_00XVPnJM#+F@#f1Ja0Xe&+^B$(}kBo^YW<$QxRTN zv+u>lkZPi>02)n3V#a4Yr$7FZZ^>(kueK^hyBWnZSASKJdU3LEd$&-DYq)~T9qF0P z`STwel}OdsdB=MItY>@6K;7ns8ngMKX-Rb*m$mQi_ZJz~q{KFv>tw6y-1z6bv2bW$ z7;?s<0>!BI5F3b)Y^%k)g*%1oNgDaCX|LL~T9|g+v=% zU#pWF`)(3pA!ryViEw3Fv;h`%WRr;mBH#;acn>`2;gG)e1>?h_39;4f>uD`3Fy*Ch z@9!MqW(>58nHHtOGNE7Ke6M6rUeqM zEZiU+x+d=k?==+zQt@M-1WFeWFa(X!@nB6jp84h2`h$9oCLTU`f4bU6eorEwWmPh_ zX0uGo!X$+wj`H^&#vIX}fgk8)*`h9`=4g~;ru3@PD7?klTqIj>tSjyf*KbLs8j`{d z*R3NED~}X8n`7N+pJ5?f@y>XRSXCDMxIeq{ZB2BgB^8qXXu8f5S82SS&9Vaw)bDWP z+E%}map9iPeD>i+vu{0x;02cRG%>n*E4@wg5F&t=boeaUSQaJ7BbIv^IHW=2JzZeN zKik?or;miu-9>_v?in{>H}6^M8WJQNymp?Bo|<$7G}-6F12CU2|K&orZbZa7c*OIW zZaN}9_EZNj^y$by&;3Rt@W~M{{h{$Lvm*+%56`uryH|Nhy~Hh!i(PM(?5l8{ z+;6!zk$4#7LC@R4$zNzv%siw;#n$IK7TPd@sc8PSnR(*8>Rg=mn4t+mXSAtA#bZ%t zvMklKq>mZO&nnJQeLS?Xe4=IDTUqYc+p~PRH2+aeHx(T?4i@(`O$G`ScmHIK~plG9$VIiK}#fs-`uU#bCG2CQ@c-o`1?b;xm=v&-=BP|4d>P2%rms58l;M0 zDW^*;h?YT;Xt{~eyb8(Ss*=XZ)5v6Sp1B4JO;TZ%C=!Bp0~Lnm8gEdVa5a}|NvbRU zU)A4dkbC&(`709FhbagecysvApqLTP=zMs8B-dz6(WgkX<8o&tPRSA@%tr}mw>40BpQwaZq!Any*u_Xi*<3&{HpDZ_#hMj*_lAzFC-_jJ8CB)NoXJ@U+(_oST*Ep z_GJU8%hx`~m%NP2?fW!N^}$R5FmoW(r2b3$sxSDdKuf-D(r_ zWj?FO4;ybDfM^tknojceRP9ivK1r_T9C>{^+H6NFNixy@;bl_g4!sTxJ?=jb%=6g| z&-dP%H_DA>`!iv-ZfF-N;xjRkS&tA?kG)dnAdn2_T5!y9C%e5;fe}KYZYIo-p0D=1 z(3$oFZ`e`JguL(iC*IKQ1gxlWRa`m&sgXv=vtVjcHr0gZGO;%&Q)X+$^JDa1(nc_xf;g)1LfaTCUtHDTv%E> zU+=HmF1{^HchC}EI45`}&~6m@kcz`dh?z=PCqF4d#m6v3L-yckkSM8(O%PzFZV@JD zbjW3eT7kWOCG&-<-HyVgT!L?yMl5$#IK5s_LXoVfWe2o&P#p+FtcC_|BosPhta+;@ z5eRiMWMmZJ!sb1-qd&0>0O8UKi9ApL>YuZ*v$K}2Q}$-q%*(*N(Fw;KfnTDT*F6|6 z>8ce(NnzQ+5)0GB6bjugjQbg*v!w~Om@9w^{^0Tm6>|48n|7PgQ+V9y2)m0Fr-Rj4 zgVF?1K=sqltfv@K<5MbNv^<~9=$w=u?L-0L;1+^tb;JQ`D2y2}ln<)pA~ZQOR$ka7 zeU=7pM+MC52e4j^eEmHs)s;{FDk!ep14y!L72$9BF(3viY>;? z!<&o?Mn_eVs|06$8cG+MQoIvcWHthZGLetxMLj6cjOShdFAWL2`Q?P%J9jL%B&22i z_(e`m&`$~|0>SyNcn(3)R%Dfg(3zHm!oVs_7dtrI(vxDqC?D@D0`1llM^=gN3dwLl zXKwAEz+@_Lbmc2>yh@IkKxNu#&ae>dRr7g3bY{aLLZXoqc*57AbP`qI`iX*trEQvZbsQ_ti{guEIB{uQ` zag(@9+}$c5Y9E(R$bC#UB$KBXRM@@P!slv4E!|X)21%vZ*Is~Jt`zx}IXy~gcw$7j zh@=jB@ZvzC!WR-KB|?=&$(QA)M5u=n6sk#)a0(;d4f7-vIOc^P?1G>glF&DaP^Z$- zxLaI`NA^$qs3DJKym+>p-xO6^QACFqWyeg8_q!|pn2U*Q3n;%wA$y6kNqg(kw)212 zLK95@*W;Uie|_^;lttH)W3JF4Uvv3XZS8M_*$(+h%Y=x|uH6st)xlFoV#M(r`q8l! zgg|Bd&gTmz85VK3dNf?#Il(D;H#o05@xD0vmvQe`$8$*SI5DPGHmBJiyG?Pw{UJG^ zQ-qYp#u*6Q`5mtCK8;$@nZMm!q8LG6?$lx9xRk7zqw_#_wT21+-N>Lt(!os5WF>2M3fItphZg>Hnizp? zBA9}15|E*E?$rJ&cp3+0M>P_5n~`p0AbNcJw`5%$PIm-5{$UTC7kTu;+~zJ`UTOR^ zByu*^k3Tl0q{byh0B!in0&65nEX@+9M2~4f+9_mgl{>_aXiS%B2$Cky`*FBsEbU&# zu%;djIY3ObCpH)K%j2VeZnjjvDcIfbou4g#GOk#}K$(e?=|x5%=6q=SX#_=4()@)R zgDmaZOiHE(p6!$9nrDYa-{r{!5l>$rb1+(hAk(gai~vZ|DXyD`!%m`HAK1Zz#$chC z@iP~3B1?mdrIgEoc6+C0mm*5;JnG0JWInQox`uA(`EeP)nq?81ifuw$E?+)F(3t*^ z0ST)spFyt1vp)By0D#Cc;0iW?sVXg-0(?O>20MXW=TaEt@oCpzCY%u&Unxb4S?Zm# zr<+8uA2sR_Gl#Y~stdC?yBR4#)iWO{ekIh?P)NKn;)VS}np21cm z{V0!Mj}t$%7?Hnw(x`DiVWlWVUlkjwaXM($N)+0U4CDAG){Pa702IxmfI!NMEMFy1 z%q>eWYXL$y+iAvA6qze6WH$AYVO&9cmLJ`;j!Lx)uD%DLLRyHc!1zM+Hoi=x~r+720cX615zMaeAS(dT47Rw5Pj>l~PyN&e_y;PBj&>S;YAba7 z_Hkageus#g_zw!Pkcg^9-)-(7{x;CqG)4jv>{wo{!8><|HTM( zQAKp;*haMDmD17HO@&xYP$5Yn$@GL+nO3|CO($DowL;FBOrZ`jII3H=l=zX61+WnV|i~&5Mu1tLF|7ad2_88JDOj){xoUzjfBgUB2}yqWT0y5imV=YE$w`>_!gqe4#UA!3r8Sj`f zJIp24B=*Wf$XPvg0&Um*i)86D@k$wcQuklzr^aI7N>!~^#-jc{z`9&Ko5CDlqNf)> z!vpy``T3k_NqG4`mAgh5CIv62TVVTV_#FX?mzxSKxZdbc6QcMpno#V!L#}qDvW%oL zbXro5CTU{*t@4||xB}vzaW6>>a)SPKpkda=^MB|#SqlH>j?){~zjT}cbm7^_4jsL< zd$FM`ZvY~?J8(I;%;I8|ZopMJ!^+uH`hSwYeJB2qzm0Li9pj+Um;xErFxD#>)8T|V ziLO$@3Y)MeQ1Ku_k0Jab1YhPDL&$WdRq#W-y5~$sjrBlaX~8@S7OT_=`cVyI!wQ=` z7#phH&oM?GXc)^2R6Xku8s?{56oI&xmPph@N`Br^nj#>ow zlC@1&9Z?Y?a|aYQ8y>NF5Ao{=<9%QzsO|cvX0N|g-;0B7PpY96m^}oPw}vTjM3*p= zPx#eEicj6mgywY*@w}q0u+Oa)d7JW&NCN+0esexBzY*5?PRc1~_i@c=eeT>x(Lcjw zcc7~zC1gOP_&Nv}DGkw);(&FcFeRlEg3%!oSc~S<*qXKpvEAJSn(l`& z1+e~%`X-BI2@QknCj~kEogK!aT^6P&P8;abb40`YS2*xtj_{rEZani~3|zyEeUYe! zxB$e>;6NJkld~%O5M>Ku3!)pb*-?au)1YrsG`?@Hc0w-Dzjmp9;a@h9;_0>WRc2rD z!0)To{JKYOHbyu3iscS-Tu|crG9QW!fP@eXLX^h8A)vugHZ~aDCnVVq`J5s{bkf?b zZ6*$Stcl?|N%L0TOV|@vS6Wp=3c(V(KuAJW!YpNSv_D_nUM?HfuJFXO?Eusw-;XY3 zB|CB|^Y;Dt<)z4+Fx1T4yDX)s&9K90%JAd)9`i!sk8AH8;R!tZ*^ZVu=*7!_*24;C z=!Wr?wNElfM{kGS2D_HQ-=dZtsQ3%qP0n$mYJ78b2nkSZi;`aTU%?bCa~cfHmZhW7 zsb%d9&6MHMjU1;rPE@smFY(wjO*wgG&Y|eA5X?(!S$(0z|2(v-T8hY4ID$iB4UBE? zfzo{v69a$b;ATEcJEP|4!W4wtM$xlVWGLb92R~1TWCjsJe^TCkqKe7<{(tep{ocql zJr6XY6?E1A7ccz(JG}52053c__nt6V(dx3aJi;BD7GVq1$?DtUOoaG*Y0Alj{fxtK zb4^bNCis2LGMNKx=RhR5pqbRh+$#yo8ME1&nWnRkSY6$VO#JS^N9+hW={wR4&~Ep;qcgEYsAFC{#3*@Z}4Y-@|tb;?L9x8 z>2Y};Le0$x#rvs3JJstCWcX`iiGPXLF@G{rEwA&l8KoA*O*`qW)8;+@D!AA*^XWq*CS~J<6((n$TF2FBvvdSj zZ{ZQI%{{s5TAHxxb>S99^qQ(A_E zZF(!R^Dj&cXu;Y}C@nSxkwNXe>hIxB0LO|hMb#wA;@tk-8>%IwB}HbCX*`_Hv5sO; zv-|G>Liw1(%5u!rN8CBq7sWz{2>z#}T>hhAgLV8@%pjm3pf?JXMe`pgVdMC(@`Z$j zSw2`?$Qh2ymF@ifs~x%0jd1Sa;es2ALWt75L+xa|Qv3^^Loe?F$->Ffo>GDE!9o5( z+m;Qc+*1Hbi#wEKc8_q`9M97Uf2Ata6HV^;*}D=kGZxi-3m8+Gs&)!Kmru@@$cvPR}ouby37pSce-|#f2{krBYAPBN5_eLMB2cmfF*h#oq{;5BCDOGW2J;Dk#$LkE(V$_`=tt9va-u+a{XcAETq2 zT6v2uC@Q{4Ql^Pjq^I9k>7L+yrynw_d_=)GtGnGk;}(39vpJ%U_qX|?$KaA$@KUr_ zCbeh^w0UFRQoVRdE@z+Nq=Uu~Q-GJzdu@|6#h0v&^=$hs)NY&yMcS+;KvC^3b8RyO zY6pPr4tfLhkPt%QgI`OLLM6a;vTKV)`z&I+e=I+@b6n3Gospa2S>IW7?b5+W4Y#d5 zkug=x8C4UEh?$x0KCQerw(84ujo=sE@=@}u!nOpKemAZcF=me&u;m;duuVo@q(xjD z<*L#eW2w@rYfZIxzP=d=*RlJS(&nlpyEe$OVid^{oD4ReIQc8d$+?0^*f<^Di1VJH zw?6|s@A&4MRWElNa6jdNQ7)J!i27z-dR(-%oPc3khmqq}%uOz_KXN1oIW}gRc@OX4 zz|lqFLk}qdKMyLbR$FctI6HFbl`5u%;LzN3+5rct)S{AcX^qTR7g+NAl;-|mH;Rh> z@Ah0mJ+6#f;NM3wqbjyqp|BGZ$*D!?6}Q4}B&1%twG? z$V)O=!E59(ObSSzO=1r&aN+PN`Rkpq-xc@S-nL?Gv(Y!&I=zm0?#{I2jcrqz$IGBe z_?C^0lifz@4O$n-G&M*Pd8?|#thJ0yLjfK=npxi!i)~Lhz2Ak8U%aZRO^Kp+xn3%3 ztM0Cdr8{n}w*gW{PN_T;;t>Gt1i}_N#d6hu$5pBi6UouDQdu0H>g}W`h`;w1U>=gi zGz3J51l|QYm0ov8Vu<=M#|x0hx(QIGii%7eI|E-7(aZ~ zPdbY$1yW{|1$UJwpgw#=Q@&%rrVZUO#nQAL-dl0*Y(<|?LK}C(sX&<+QluywjIMID zGo;BHzA?th*;#~pVuQEagY6>Sz?KKJzfI5f-b-$-uR!Q$YRRcJY@-r`oRp?*v|+cj zb?jeVam05`ZhvA}fApY|8QyH*$<(6kJLjRoHLQ$S`V}f`MbkBGRK-YN8wVIB{~VBYBNrR=VhkQ zEW9eW%4se*fKS##*65#+)Lk}M%gE8i;O0ZUVaa;2@?#{@>K(Jzl$5L5f6HMSiA_Ox zwrm}<*cM&yYd2fEF>#@q^)}SkARC_RPq_-X`q-bX>g*{t6fnFZKFt%)LY6~lM=6-u z^X|b&G~oHJZG2l8!!3t!K`^36zjJKd(Z@EPQz86Va-?N3;C1XEyPLP!o8S6vPv5Zz z6_b2@;~EmXQK<7L9x=3F9~5Rmk4!KS36q@fTC_t|8aI>NNH{V8Wq2LbPO)&zzBk1a z=o{wO2-T4QmaioLE8r=)R8ew2i?+tzWpLIZq=CbpGA$_CPcd1#oG4zjg!GuRPv|!> z@;QUnW9_sJ3P<+)@WR-*2TPr)SYCUmuv)jQ*Q-}&Z^ z|7C6cLz+*4JJMTs!#e-0z5xyn@ylP7(G|3^Wxu|qvZ$ee4f^3Ay<_2R-F0%3(!SW{ zf}-~cr`IS6JeU;v2YZO88)ylyoCx3007OzH(U<|=akxo)iix;e38pRxg{yr)eJ;Em zuzH6o^96?eX)Pa_0{nXp#oL3(D~^OMZG?U+Xm{7Qdos|kkY72wSg*o zy)tUmJxkwA=%NMyk}Fi0d0M6(J@Vcy<5#yqTa?`L#;7l(KHg=$kgCr^Z~9U`4->rb z++Oqk)nll*JaHDj`lG^>&X&4sCweK9YPpQH`fdT(0MEDFHMnccwl}{=xt!P6-};Q5 zrUpy8xJ0|PJsn720nD1xGTQX$*yJnJhAnN=Det-6zTMTXe_HZrhO|OfHX-V)$)i%V zMB)}Dnjo&T6e$$#ks{Fw{=HC8ms;ybVR2wP|Kt0`%=1jqG_$yREk z;+9iqdQao09?b(bU>DjOp~GoWUGayUD(+Oy% zsJ5#na|qHW;@@c?G)YT7*P2Y;G5;3+K8u#Y0%{0mHyYV((YRPagp_<;q91--l*$q$Pr5{V&FWf*jHO5 z4naoxUTK~p$x3lPjOI^CLSI=Bf2Q0L`c;`2k9`B-E4Xcqo>pOgu2s(c>}>lRfutP% zqH($i5iDEf*MM0JHmA6_xHl1gi<#TF?>c$@C#P-9h1CYkqvv0x5%Pf>(w+c%ed^9% zdVSI}Dc|(}Ss-&*0#kkm{Md^1lfbqcotm4srpY|XnQzu_z4E6#-x6B6>@gY zMt-~^Q~S;R7}cEKamm*u2nbWn1fhjXyXHG#5U9m2A5n~)RRS=$$TkRg0OHunmPd3V z26cjJ1FM(#?gI>6wV%feS*a(JaZ#dD6My?+72Cd!DST~yD8{b4B*7M}HN=)LWVYT; zrY8tI0$O&{s16hc4(>XzqG`Y@60_&s_!hwBf6S;S&~*!W13usFa%Ru_+aJTD@psZN zDa0~Cb^hN#p`siJ2p3}LxMz#6&j#1*5OKui100Xw8R82AsL*{k7>bZgaswQsrd(hI zF%Hl-LE&+yD=`j+roVtZI?~x+L_2lc8I$%XVYN|4WP!>_7!tm1k<5%6M@Vsfw#f>t zmM)JJ?&h~|eYNU=ef@a+-JYOP2m1YQIJa1kY)fhI3q zASWk7`^sstzoOi#K-WWZCZn!#)P}pyK z(Wppj-cMJSn5gnK$TIPW^Gys)Op_Xx@*MJJ9Xh)-Fy=8Edi3;3N%O7}BtSoBD-2V8 z`t3j!(Sv~~#Lz?%p86a0a`g|+wAY$lj`Y{k)ndHvfn}pE{kQfPAzr9KIbEcenU3Gr zm3kM-n+09+tV3Q?K5ju7NBb}@Di1{$%3ic%3-Yg92=4Frr{1+!#U)C_6&W8Y8TTbX zn<9Zf%jR&z_TX*wt#!8C{nX)l;^pj({&dam{C%obW{aU>Y!~sB7nWwRHbxW8RK{3^ zDixe*Fh-OZb7v?$p(#vW+laMJwKvO4eb5GXl(RmI0da(dU(6-A-xGT-Og22w#sCwQ z+Nz6<*fgJ;(Ieq=P1aZRvCdbGH2L;nwUD-<{Q;$5#o_3^0+kUE`okprbwkei+xom z3gw+sHqmp-);RQ8h0OscoF#ICc;FtQR0+>TGLxba`r5|I@igCZ?2$(Olt>UM6&i(4 zb6E*Xbp3t@+hdyfVGsjA4XiE>$qmzW#@zep3He<3|~0>;q?QFZg=m|)w^8X z=;p!k0T8~E2JB=g1pn%~n=)UK*0g>$(bws^w`*Ic>n4nSQ;yV9(-Zy&CO1HP;~n}z zm1}kQ;LiE}JA7^oNM(RlMjtm?D}>K1Rx3JvYDi)5$6!>BJnZeST^uO(?2$Jyl+3kn zkzg~Rw{MX?-!i{*&4|;H!p>>SeV;3*rf76UOX-39KPSo!VM7E1n@9Slf<9dNiA)bH z12IyRNKBw$|JfPEtA-S;{~pX*2T1{NTIvsF6N|76DTu5Cy{OPBz^E z>jSUY;ZbX#@~%zbdCJY=m2z=VzXcYARHQU?9Er_HwxIt^`)&Tgz0~lGtbm9q#7`vc za;eFbx#szwu2L{H(Z^hUU*edWqKdAHqKa%-HtIYVD1Jp(9-Phjmv`-?_nUT2+;*MS z7Kzc>EUlwT(yB{m@B7D1_`VPOy-W?KPWP{#sOYB_SK4q)p~eZ4FTd5Rp7C40sjten zY0$EN9tNoGc7tC`u#DF?mhCbz`n7Yzu6soG`kMomk5Sh(aWZD@&_(2cDPMX_fw=CEi9NkgC6>{VrD;S9LDo$<8}RTV1v6TL0`@hcNQ#oXQes&pdJ+ zzR^ba31W%Y2>eMw&44~KQ}Y+rkGvGhHIPLvfZpjxN(|r>Gc_L(EbuhfLqknN>1sOsiqkxO6>5cN=>R|BQ-xY&?A(Pv`{OuouQxPH?t+nU-T2DeB4!I$7t?h-!Ykmx!QtS(#ARRkdD+Pk;`dKujCd-&f z3Rkim3ozaA5}I-7aV2ARHuh2L7c$``W4@a)LxIJhIN;+U-;UWVRiAR@w|+l+cii@9 zKXOzpKIk9qmfAZalkMo-^;&t1+jQx&D7t0MHYG95r&^yua=a*;JwOVyEgmPe>{Uvo zPH0S{LoamHlBHAGG2~4z>(e|@rgoU_x%0`6E~D8CwD;dJfVcmeZ5Y@?;AsqHr6vCK z!N%TZlTy82k+jJE2E=yNZ){eyd)6!)nKJCuiaai@&>ZPmQop>+C4TDp-JYQEy482z zzou=3A5eUHJbd0YyuPulEuGpF3~pcToUX2TrJGn=1`u))p)T&e!R6oG36<5?KDh9o zg?25|%fzdj^!us3P(QT_t^)lZ;b0wapIva+9-I z9Z{XR(d4YwFq9Gq6>v0}5Q)d2wMt7BY_CLv2x-~;n99Ww(yE0hEZsR?Cm7ZFv{Y*| zpEJ&NS64j0e7D`|o~`;Ip?S9z$<76>J)NrFgk5D&#b_U=uC*^N4`&wL45!!6>sdI} zpWm5H+s;4R)<1>X>Y81!=bT<50AtHppTn<$TR`7yUg^JnTNhkmy<+1hr5TEB67N=d zZ)XfgddUBB2Brs9<%V|Lg|K`knQJPZvFQf z{*3s+Ac%7$YEl3Fx2OJlZivvEwR>DrB*gq_Zcd~{Ib3s+^AD60RR~@6l3D_45oIs{ z<)j%1irie|0D1hJMrw@P6)0`=TLkGQC5NNWmMmp|h>LBgS?1O~UuMQErdv0$6{QAi zM6SCnS-aaMiAh@fyJbudh@a)7mU6}8{%sQUaJ{rp9DN6z{LuQjckjD38}UeD zN#wS9cig@fSeOO(xN~YETOtBaRTACj#JVNL;i`48<9Y!ZKduk(i7P zrQa%0oOZMl9_|vmXoSbkGKrhIhd4e%(nmTc3i9o)cehd*=%TgQH%{7rS$8F=5K*7{ zrL}LlQN~EUGDTgVC(r{zNr1GqbZ*-mKV@SYO;eOL)3A0!ap|1N<{1eu6+bejSB@y% zyf$TCf_rbm0q>9`w+x>2_1B5gTb7x)+DS{4vJ;wdp0$*sqLDQ`PZ6m+CiU=fzNpbq z#TnpTi@cU`ux6ht*9O-#ABr*;(lQUdJhAx8SU!?{9hVgW%~Pl4t(m_vXfu`XYsi3H zBSFtqv|ZCsv`oUSka&xGIAgI)n+a~=oIYD&sh3Pc<6OFHRuDE$21P;*w`5<3S_s=- zSOXK_Kz(vrYuuf_x<#QX`9Q-rE4&E?jS@|fNPHf*N{SLgfFwYe;u!`l5*q_QZsLtZ zJfg7=w3ICc_!? z`+MPTdIpk?dZRXBbY#G6m0M&;U<%7&1aC2*iY-|;8p2z}19#<0dv`$m6Q zZ#V^?#ehV=Gol%1KEhOs846gEyCnxK%e9^Q17DFG`^6N+$EAIY7eU~O8fV1okYLBu zjSPk__3v5t=ssX3e(I;k;3m6?H1qIJ5gqTjwXDS1nZ7&d7vuZR6TwpLn)QrBcxj8? zsSzF|XpIzep++LAutdsGz%(RaKGE-1ac z;%exJgX9M>Z$ZuE)Xv!922ojgljs00K5L*iWF+9v7i z>KplwR}VYsGMc&ZpY`*Yu`g9+hYM$u=|>u$$1a{HG2W}$KG`x zFF$X+@1>n*&fgzjeZ3zSRk}NUb+r@T)Oh9d{V&Bj$etbes&8L=5@$BsC8H;Osx23X zyA|u{U;J&HnyJ1%r(ab*V4Wm0P{v(~Jod*T@BF+0=&+oNIqZte`Op&L zE&4w{RiaH&vK4!I_0|*QL?gO#``sHnUWwKEVxTlkFmr(QXnS@V+zNsJI~>(h$YNhCv*<0voqI906p)j9@|2!!tHkE zv87@mIuEIkYSRISTI$21?(wB`pGklhGKb|khq!=M=oRzj$9&7>LnR8pxUL0RtzS;s z$Leq7H_KW_27(D(>rmZD|Bh2pvxRqu)1yg8d8@IlaD#SNb|k`!t*X4L4MNMdE-yFZ z&!y1VWHyFSVI5V!)nJ`4H{v$IT@*`F3ltGV*N}j55xYGmJjqJ(;)Rw`VUyiq&g7Fx zB6ZU(8~|frL5eGTvhI~a)k_?33Az5k0bkO63s8e)?5^>_$@q(oe2v3cg{2_r3BRj) zZOf*(YGW$vLeI`ta}&+4O3~cBUZP+|V4wG*2(wz0JBx=regCX8`E~_o9NA8Ca32dF zdjb}K}JED z@PEfB|9q>VG$1@}Q{mCxgxUQL1+a_&wvSY`sF(H(D&DjCrbRR%0O$Z}6fz4$)gtsT zB2)pAcrOTmC;}XkgozI-ndmY{tsbaA-ml8c%??s=glGuh0fC}YWLnKT)=-o=0{n^|hJBc1QWDQAjrx#^A;z)3nW?=+#b$9!aYKh2NAY3$d)5i%8^i=i{o)+-!~l(I$(Jh}_g5i9OF>?)Ic<`x4`NabC+wMK1lVh| zlN7{Mmu3^gh#we-rFoLR*^F3r7)l*kp~97;EF|hP%3$J&{~#0eU2V&_a5kU(TH}3` zo{{ZMcwXHf5qWPVjK)9vv+8#@n3s*n#ZV-!%-uek)#Dpj&GnLai~n0Rg0waLye~mY zLN572jweDIo&o`Gq|2e*cFt2*J*kVkIYrl59){FhsI8SYH0fCR>D111kGUdSesg*w z>E1PWa&@W7&Tr@EWf%xfwjTu<7$9^q4f@)_NG-2KB`|IKcD~Kp@&fPU+D4t{N9!&U?Y=^qib`7$%fZT`YgitJMsc+kkl8w zYhhFHy|3k$#;VD?j?-l^w1Ki}jO=ZmIbWP-mzf6i;a>Akmh9z>n`_8v7e8LM^=pvD z@Qr@L!4Gw-ukA3MtFc2IrXe5g^h;Z|8Agll-6kg0*)PA2Uu43B7m;b^#5dEq)zFkt zq)is29n}cr6`JKAzMAe#3{Y6(_qA=Fey#i7_e;@`LF6B9HUQ*ij>ZId2hv4tZ<-V* z@gw@O;}UQdghs{sThUee>58djbiSqkaI+UnA-=2X!Kq#+2FnIwA6BTFD!g3f$MMQ+ zAfc+I_N5Oy-`rvMYVmCkYjg3fIDWYqzdhaQL?xxS)K9_ID$|Y3O4LP&#F_OiOH5*`+CEvnJe}D(65cQJFh8CUq z1oo&hF(|mVE$3zunPn^dE+hWR28oInN46gBY{pzAPJ_N4L&kbL4}UVRp|2%p4sH9x z=jU*sg9oN#P+&b1G^}Qi2X_WUoC|Q}R*?*Tj{;zxs==^6BMm)9i z)2Rtvf_QDjy%rKKhAlgAuI zac6=BN@_#|(N10z$8PhbxoL96GRh$J5Ws7cD-PDr$key;J=VHG+=KmRTX`psC_eJP z?hx1mi0E+RFyZ0qUxQ)+u@AT;Mq^CGu=e6DlM+dI>~`|a81qY`5x9RVQZ38`YKkc| z8pL51w0~=l+tgo2ZbJg_u*hOQDhm}cd0mi3c;z9`EsT7`E_5-gdl46q<11rq|M-0B z`A!JA^QrH{;}$ey#v;SLSvdGRe}1Sy;s9=(7=^)11!3|3?a1SA)}=o2f_@;=Jb>zQ z-Wi`)!X2Gg(nS-df$w6xbYJ#>SV_-!R~^*8+2zy1d3<%bWUHEn_I|eyc;sCD#_y36 zALTU3?mf?tv9kKM%`_|L!ZDlZPj@gNg0&OlD~{0N1mZXYNhpK6e;3%y=l#<0R;QMj z9#Z#mAi;ANMwQ7ig3P>g7%8QPhLAQFD&2&Z|Mk?4ov-1N#oKOz$++GZ=|lXv^re1@ z)>&l!N@=RwuIa_`+;|$ESGTxwOQ*YX>A(ga8TxCKt<{xX(0Z+&oSpc)JA3!nh29&` zuSneZZtT5CJ3A#j_|HD?U zN83%G$Bm0LEw-NdoY^Pz3(rcH@5KwXYFi7YIoIBa*%sn=2PD~% zrZu)xlU;L-r`Zic?VF28-W-}%Z5_OI-LDtJ-PFa~Zo(-xNKspx*>1)^V2fS0sPP`A z`)YUE14}aSq9=ZOnrNvIuaMZC6DgXiw}a{&n4YsUIkoxoJ|cM}e-xw#Jmkhv%ln@BjSa{Y z`n$%9=f{8ZUYCZiL@*JUiX&CsR43RzoUzVk@;o*pU85pF%dtTKFXO+R4mf2#`VN&_>zmpHWrr zxbMVu%i8wf8Gz@SE z&Lmq49*^&6$y6bX$#nQ>_Ae#+Eve^VpiQqehpBuE8j7>JaASOAP&#jzv{d&z9H$K-=Is|a?dyI>9=nW z?O3<3w?;RR)I8_~rP>L8uT{Oc@Y{x;d)5`Za_O0&#o0h3OoG`!E8*Z)Z`M6LW1lSZ zV|s>=vfRCtYuP*JL|7dqsL%M7gF|Ni1V5pOZQ(>wg?^wf6nBK3NJ-?W%`PWnqoDJi zaQZLKP9lV#lN>`lREaVI?HK{vgfn6Im$F(zQGFL?2Xai@=aZfrCucoCIXJjuthtmw zk-TLKQ>GjQ00u2}pH!U1000x{!o8&=j$)MXP!hu~sqzCSHfaqMp6h~>Z;{T%df&UqX57p-e`tO_a3Fj+ppX@)O4dBQzq|;8=IqShSQS8_6 zo%EP6w{XfW6n0Nz!?VME(~%XA{o6vk^Jf z@(ae;F}$sa=G2Rwlu+%_j<)vCO%Cfi3CFk{ioRlG$T_@4#MiCw%~g<0n=*esJip}R ze=9k$Xx6sU$uzt<;UGkH`s~U*j89y8X-Zt;#5*`BG-3gMm^mGg?_ee@^^A@G;Bfks zDe9#Ay1tq0^}6BO&bR2~jH8?Nn0wK0Ksc}Rv8NyWql^^kQ=!(k^0R?c{kokfhip4{ zGTpFV-_2#Pt*PhdtoFF^5{ta|!$!2PV%=w`55Z^j)~4;$jWrwiaPTFP`bzjsC{2Xg zTPD7zBQw&(pWmE2yNJw{icS%KR)`!Pki=4wOUF~DVT2DPSaraXC`ybwl`)9H@} zu}jyyn-J!Wvk$KA<`HVTZmOn-+3&)50&n>&o}$@@zjceos@SvWG{eAjDK91bDp z?pDUuyr|;Xb9&vi@+YOpI*d{^yeKPY|fU9w_Az?xOL1G)3%IEu5#kC~0Dx zq$vuwLQsW%zH|#t6QxU61vOy@Utj_>S2KL+q+VC`nK9Ew-59`%2nddAobqO|66mBX z#%VWbvwsesgwr6hwI)NdES_CVS-K!gGQJ_srCt1}#l&BGuGm(SwSgQqF`;2!RO`(} zpzolg2KK1munF$A-Zt|L>9?!gIFW0sN2g(5=OtFL6FxrU{4%HByYmG-924K35Qc_b zi(OE^$EJ*nR7{`$5Y+A;wG9_F;uQhUe7=1?Buj-5Iv^36EH`X5($FrV-_yiEglJn6 z03N0B_~Y+&OV7#o!y)}=42&;JN>%Nw5P19Gka*vDBd`@5m}%JAu9*vgC(y7LwFVg8 zQoN;>yydF**4}5Y*VRZ27GD&U+k^kkL-$uHZjzJ=SR$-O~Aoz-~P>JQ-Ifd$T;Rt>5as%XD}QIj{Y0 zH@Pu?w|NWvxhb~Pl3_d#S5+L39QGYJifsX^vTw`sK^@%MQwGs|IY$HJ=`wC+6}l!(!}iXLKvDA ztYhhGbG>V&%TGcu%erYZyc)_(n|Y(swG$KRrt3^eaWB64G5-2^k4T+3-_@;yoPIBp zz-x44Av=Wi^B9H5uOD_>Ui_h{p>ycy<29bZ>bz-3!%_5nA@5?W1Q{0t%D8cHpVP8q z$U;H)U_r(Dq%3zw$7i_etT^Sd96~9&`sVrNdGA39kv*BenkDDqIBi^FffvueSSV%# zmC_X_$Jglm5WkPa{RfM;KyJjimMKgkUVc;d)YMvhj<)95*``y<{9879<@(*>hU7W}m9 z5NSNvGb1NUwjnnm^sR;+4JIw$@kE#If`!kD$~gflg4BG#FC~~la`4pY4$=fss_%Xz zg66HSesUfxkfCz8e^oY33{k=ZH%wtG|K6?A%mGa99sSzTR&%(s{F~u*o0prnW@hLq zptySS+yecCwI&j13s|PDZA_>|T#|%f#Csc+gDcPo5(ZOt5H)ZYXz?$#rM=MLCH}Q{ zX~#LkfrM(s7D%MAVB9UhQa3IqJwjLf%}+f5V#RnGyx$ExcqUcbhJHTaI_RJ6>;r9R z?zYEmv+UX_$wV2JDP<1F{AbFX3>QQ3xo%&E$JdlOJeFcVl4?W#+Uq-L5ozi87cjFh z)-g~o*nj#u5)HAQbN?SG<;^9+Y0hpJv*G?mz6EFzdBueL&ABN;Zk_5=3&iGAgL_A# zduEk>@^5;s6L;^|b3pN@Vu~$iWeSEy9JbF=8Vf=wJ&$DuHMu#VDs>+2nma3$^H}T$$r)AC34{dO!>9`W1 z=o=@9((~B#pj!lNo^P9#u?@6XGcwTFpC?z{3%igl1PND${Myl5K|psz#V%de27twl zL>f)A;)Y0;i*?2bI}-wgk`y3E=V8<+VZ2c48o>k2(6;1^@_JaHDrpSLPOCqGJ+`X5 z-62PJ2)&U%VLoO$-twRBJp_G67SA>M&n+53nk|)@Y2d`;TD2`(v}L$^&eLMo23suU zER5eiGGqk_KGu=1j<%;KC$hsgV^0Q^H|)b+q>pVBKRbRjfkHL9cXVhNqVW4il+n943>&hG_~!e_D{89>Yepf`nANYSeWe8~>^5?z5{0E|2Rz~CaH z0r#dmNQ2!o6II74wJd}iclE8P)|^Jd8{Le=PLU+&KbS*5Lq3b1{pcy{DU<3g191Y$ zd{iCHJsv?dfj&Z>PXBz=jt_~{#6Yf!rD1RB+G-)Iz4bv9Sdt~(O`^4G`UrIQSO{l1 z-Tx-!h9Er5g`c}T@)o)$owCKzb_>-|e3>_vC3VLW{V6&oS@0y3$>i+YE}36Dmg#q85$x_%=APN_yb8Befvhw5`6Wy-GSc$`y@XRikhz# zD)voIx^VPPwIJp&XAluTCb&P-=1NU;u;L)kfPwVniTkK`UyJmF=z3`#{EvcO%@Rwx zlXil&$oLtBH(`64L$o~>`&KFZuSpiXNKhz;u81(M*UkW92f^u;SRI-R?xnugBLr|2A|xvJRDFn#9SlvL~V2I5V<>J z8zA;R{o~Uk;XZ1YM(cDAV_roiZ z!`H2D7fG?jtYjGjRf)e;2OUZ(yr`S-j1Ox>MXPVZ)c7e<=^Jd2a?!C+H5UQo!aiWF z`RMoiUJH2SvDP`lVB4%)Uq^hG29>M@75mEAQ2QN2H%Kj^Fv;plBH~7kns{+ZyFOYG zBwGeM^*^a`lTf9Y@-4-@B!;eCjxsuA9Tr0d zd7*v_i9dcD&*t^k@lmfBo9y2d1FmXtBqNiC3f9$)!0(h!9AAk+X=RqE5zoLA$|G%I zS+jsj=LFfMt6(~YW_l%++_0ImS?xcLPCks68lhSYJ2rk$wq?Pnsf=wJQm|VlA9t}9 zw4a)16a0KFWj63HhyW?Y+#7EyO{PFsE3GMl`xavFQD0J(!W?Elb4F{*fn+c8Tl~dM zuO^nGwnbeWS8}9c-}329*XZt>#Ifm&)T`le9ZsAY%Pt=4QMuae?8jG0jot5h5|Y!B z8mlS^?BN>XMBCoRh4QEJk*xi1))_b&pn~VKb0}9C%hnf-lEdF{em*?Jq-~=S-H*hi z*>U3!9c$A(l+inQ2rraXZ(wDi(n=UKUqyg@2c3SY-NeX(ly`95NNjAzKyK$?8)|P! z(PBCt9nfb)8INV2sDx#*Eb7W&F{PMFAwL>dJDcNjs+(gc!ihnUIjWCAaM|=LX*^49 zbm{x9TbVdbKV99JIKAKyzG(V*nRZGa<&^N+oz?yM@pSyLw`!V+i7OQt85oauzCEw* zU7RrybV*RieTrnhxAo}Z6*tY+i^I<}6Ds)&z<*`bD~cf4pBUI3QjdkFi{w)Q<8ZxQ*3|)<`sx{q4CJ2|YFTlr-L(&#f2QCP?~lB=TGm>~AM{_bUaNm(`nvrkKB<4x7H)@$#N(-$GQL@YG9p zUNhs@a0y)?s2htzk>y{{?q7Jhx%=>Fy`gm7 zf@;d-+ZuWk6&s=>O_D(l8@UA7^d>0^S9MjPw&IFal@8($KQ24qT9Vo#Mw5gep<}2A z*qUe>0gnl~hdGVC3NYelYKZgyUYx5c!FwQ1J@~aCfxB9NyfmLNMX=t!AEQqq2zW@% zfl@9zY_k*|*mZfN1FAS;%vl!-O z&?UBjM2KT@e7lWN;&64IvL;Hn#R8p|t-SDE@+!ADUBrX0KHg01ahf=YmQUIDL6q6d ziNiCX43RfVlq5v)J^jP0bgX{^92UIk%nl*)#QH?>=Tz^mp!8f3}mv(6v+q_Im0%Ix&jasET{jFfC+p4(Vf6PdOIg4OCL}ge`QCsi%2gB zh(lasK+igf`Mg}XYdO$hu|b87S%2~lHi8>$Gh%rnWcf?Y6@;3PU*eaZ2ha&_KOpif zW{22Y&>=qYO|K>MB~_m;HMgG|)PMH&-`1|zu6wO~Hu|WafA2fa6iq(nKjehX#c6mz z07LJ;L+qQ>jNlM2#NfcMG|sDMX9AYO30fysm1Cy?eS#Sq6Jn#_qEh{tzD&5m$N7|F z%s2o|ho~7JL4+G&qQdKgv;t%CRd!W_QLJfUol+xkohqMy_Uj`tt8nalBlj=#~Om zqTulp=5KZ?KHz&C@>92<7PyL>UNa;y;jVb|?mZ;xXV#&#xQY?V;s~h35Qgaxd$o?~ zhE<_9PK3UlAHO^xS^g>B%t)L%*QDpEqS<4Es7BYkC%n^%1!wrZ{Co()t~q#l`e}be zyNc3nBLw!#w)kuXZdhv65~Cy5;pm%-P$8ZCpClKSDTGQ*l1b(a!V7@Es55auSXOJ8 zXj;-zt+3b)OF^m+J}D)-q5qJ5BQ=e@uAX%4D!yNeeBJ;Ek9g=vgA z=kRbk$9(m5{DZY^h-YqOBLHGn`>?O22_(?%>k7`8LW(PYsEd-AX61nrZA0eFp?*+Z zu*3XIM6uw2Hg@j~Ky4W8M;MN7`me>el2y8JR6~C?^;m~wyvqby+viIm>*Q5~c1^m6 zs-@in$nsGeWdZ|_;vb#4xgA#7gm{c_+0kp$<+G2+>3Wy@5(np~N5}P?JF}VhC7che zhh2Is^PMyqfzUlC*kAegj{Cu3tSEf{RsMm*%p%qYer*tJ4EM)qZ)_t24@`td&oqF@X55A`;>4z;7qSvxNjD94Q%qe0l z?ElwCAQPIF{Wb(JfC4P$YLa01%GJz~@r=%XYdZIwYYVw(zod8ToPk0XSL4)MH+$)V zMK4|@sJjccxi5Evo|rz#6HH2ybVMT$jOsdW`SGph$82V zD<+=2+XLojV#Bl8(8<6!c>CW`&lYzjiBA6{_WpSiljSWK^I6A`fdb*2QOT*2iPCUR zQEMkCM{;qdX9{S8nfW$Bd{26=W%3sLV&CbH9-w8t6O{8}2uAq>!A=l`^re%($l^$gtALL-rGzH&4g16UTxD|g#HdxqAz}4?hs&;^Cfi9hGpYRl#O>gA~ z`&6sUIFC>SB%a39r5q3D{S4)1?z0dI zL~ihDLGJFgK)QfG3^{Ff9-CR7VQQ~RLbh;hh7InBY2P=oRX8{JUxP`Q$306#7KK6S z{KgN|J$G&n+b@0I(wVCGs!HY{ABJt|i&2NqtZ17|g(cYs*q6;Ki^b!@;@6qSPVDF0 zMeP-hwwY47cr(Naw;|o?A#ABG_^7WQVR7-1MkhJRCdhhFjmBtuMtLNjTfkTT%^ZB# z3;{p*PnZt_aQYfqzsq^qE)yP(6J(^RM`*vVQs$j-Dhz3Wwpie1c@k&NK6k%9TXATq(W_#G6#4?vfont%e37;k!xfC?G{ zwD;5yzL)>vQW{E!Cc(Z!NE|GIk%($P6Y_4HY@`0_mzd(sEC!aWAX-!zV6%0YEzjYge168K+JSGc2) z>)=;@oxNn|8YOG;^72uoT(@I!v`V4YIob{bNb|hpc2l)Ss(RZFqYd^l+Bqt^M)dCo zF~vl#k+_aHBlV6l{2h>xwepi{9qIa9as1+U@Sv+0^ytYfpdE9N^mOI{e0>CA2)cQaX}A(=zSUjJTu7e#1Rv9$swR(ou`AY- zKNO6`6Ip!$6Lj00k}V|l=_l20CIgF_fd4Vg$w$vNeXEC*h15k^joZ@BvY&^(I*ChT zd(QN$qX5HL7SpzQvcKOzf1j~|m?42kcXRLx+-~Vb>PNcU-ITS8n>V&^JY|P3SOQi< zJi}snMPHU5HRpLjHZ?)$EeK1z?LtWUlS>}#N2$&D7v~G?SuJveLQFmur(EP)S)I7J>|2(hmsuV$pDP@~%exO+R3)~(hI zR2lI?&giKx@7I7iO6inRCysI&7Oo?EJvw%&nxw%DSkL$_F!Tl!j-|Irskiyg5f-k% zO{=l|Udv0Tu{bFAI+@OkK76sgTJP5Eb=uFwr}7YD?KeRyXLW~*H*lK+ zV$8o1lRH0$=wt6Yc6G9yRQK4ifQddGeqlK?BBhsRjp*?!SclTf3ECjo zS0kt-VoY>4fa6f%cL#R+2r4zL{_Hwjv%|*|wZM#$ttVjTeUTBf^J+Pk>*-iQ(yO|3 zf=H=XNU@P~VCKE>LS^n&`V`JGAR&uYfIyHSizib6k6Jnp&-5WpB@4hobw*^K^?qR@ z&6`Y29`@!I<~a^S18wj;Tz!90Ui$oF=2=uWycjH3>@_$wb0Yf9+e{MYYl~kQ^tN*`P8t(y}mHAqW_V z(*KO$#y0NEAM@|YM;=y^#hRgb1BkmxO=MhYULKn+f?oo-hW}t)tUu$hFoDVyZh(~> znf`9czqjDNDG~MHfu0aiTPG%I;k0uG!t3S&KzmNbcb&=g%GK>g{OIlKxvKfIqHe%R zmta_P16nn+YH{_u%r=2W*7 zD<6HSoQr>?PP1V_aHscEh&0d=rBIJArO&iFHv`_WR89Z1Bfs;X( z=V4*xh;)I!87NsJ9T^=mv&7Sbgpf+0t8Tlw_v7RGbl{;xL#_T8>i(XlpeXad_|R#$ z+wWfU<_f4-wDTZs9v|k)mRU`zrUy1!KEC}H)cq6hp8B^-oeB9nFmJMj{50^;NR;W% zS8dwB6GC8HR`Bj=*!s*I^XI$$H~k~SsV3a$6Z$aShyF5Nsxa?4&yc4(yk(@39qTb- zpqrTtV!h8=t?FgB?U&QMr{P`a=c^Z&Rv-0W2qUb;wWoetmf*M?h}aM?$w?Qqzut6oh5$AdGm@SU{N1LaxtYr zY#?$SE%~DC8P`tyh}f&Ti#jYV$0M$1X4gt66uo9ZI95qPjcxzNJco)V!%MVT$dX$U z(nt?d#8^!fHK`R1qs7DpLF-4BkKMUIJ7Zi zoOFf74<9{`8408?od`nHODa~x5UvIeKui*(XBDroVy}9sTh8Wn$NEj) za^>9-rfN)fA-nTuV`MjeB*B-ca4lVlhuWX)NxI3pW4CoH{oT6Vy}UiV4Lbhbe!wks z6&gVLu~XqqN&aP*fd*Y&+=P&vM2lM4B=kOCDz6M!K+A$SnET5y{htEb!2df3*|b5S zY#_Q+X_cu@rYfM?#2hSZzrC1hrfy_ISX3t@xz{h_B*U(Ax=kqSnW}*$TVEVR|5>SK z5MP)$*ae|U&GAfX-2Samm>ey}5RlQvJr6y}@jX^@edj0OV*KF#&bvxVp-%T~|5Cg4 zypgRz=ZiTboa_XT)PRC5G1>x$V1?OP$kQ2G(jJ`q#3~5TQ*SayryFtUzV5}?~eHPqvRhhrqktl1k(u}$EjqA zpTR2P;CO^43bnhd4dYA8WQC{86Hwt_$m=g2z-RrP@}rpf+s>$5YNe=}loX>C3~=2e zVLx%iWR`yhRFZiQpP{HY09<8%98jYIc^Uv?T|6T~nyi<;20$jBiOLMwX@EZZ ztZz+X{;T&yEw^cOe_HHv^=XdcffX|9u5KmA$AXq-GVTOqQbVz%R5H=4bE+0&k0|Wd zLxM(6_LvkxSs;2rnRIiSK3R`k`aa_d&1rfx)b~N!yz?W{QOe)PR zxsV1kvmnK>D5CG*h;Yp1iD#Y*MOu4tAK%*F9Y3=!*7%~-797Q!);aPRNWoVJ1Oq-W zB`ZZ}jlT$|Ui;^XE3e=;71ladEL-%g0hBgb)3&I{jx6ks)i|UPz4VMSa5(SHzmVSj z+F_}kg3K(Xiz1gDfswJn-lkGbI-VT!IkzE zlpWv6{Uf@+H}d||ZSJYsquI4lm-_|JjH_YR<}-PYGz#EF-&MUViwSD(^|)-|_1qHf z{j_3vm{i~H&3(jP@wQHRTH)aDUC&|*rfq4q?$k6n(Qy4ey;MJbg|$>&ve5#6$UL*z zkBVao=|a4Z?@ReoorI67R+}k(pO0|+uXlF7z}4uXcA3XvV}+-OAWNwUT3FYviXusU zeya-TIj7~7NP7gQ1mvHRJ#64zG;?L$2wpoE=NM{?`$$H zDKkdS?%{-009UoUV52z@2dU60c8~#M0R&JLVn$(L4ZSs5#PF0g-5&U!o0O7;`ff&c zUi5!Jv^Xou+=+$aOsL_OTM6$B9JmGE9Q4V>23*qE`%}$$;%Vk&L z#Y8LMd!Uj~nf|z+$E3I|)IDG=0MN;t0tN->=13tb=81?UDsCO8mb2v*1v_yR^B((Z zyo-mw#b&%arft>}=8lI&-URc*1k!$d;XRUMYmgCG2tSy_5!JGf=G$I>q&yR4`g8M6 zDsIeIh^D|l5}CPF&E9(Tz|tyi*4fG=a4 zbFiQQ;kVmx;lFz(PkUEV0{K=tF_5FeE>O1WRE{GGhR`VSHNLa1>)GtL!UV~x4{zKX zbAXm7Ux1e6NRSruSIgEY42ZJzk9+^24%*y}flaH!rV{>aVsEsOP3TTbY7M#I@Gkv;q2c zm@_9hGQ(=F``+-9wSl^NqmnV4q$X3ek3A;damUQa^tW+}MvAXFNGtQdVTu!!1lW}M znd(Xf^KQqBfa7+7$o6{l!L!lqi(gxI6l2xuD6B6E)d2Vf@lKPZ5w12y7s|8;E)rW- z$6+ODc%)Xl5Y&ub+F{AkEiXQ`usvJrkcRs-R?N=qbTUUL`sd$Zuc9`-WL6An#yUff zu@&v~5*-col_4S~@hJP|MaCWv1y?TZL+Qp;N%yfc%T~wxMf(QfsU>_hun@S(6Y=$; z=FwiU{a0yc?@YJnHT}Yc$dPF>DOr1+I#(zwNlR(nn6h3+>H}P+O!$*upVE%jF#ukw z&EN)6q-gq-lF2IX2m_4MZ|dOs>(2FmqHYSU1kEPRHW7$4?clNol(NhnnDCUp^r;cG z&{8Sm&in@6kO^FE>iBXrS zBuqpwDE8x)w+S(g4f%vQ_w$=K$4_aP&5DzqfWWP95#L>xoGjGzDZc%j!yaP`x*6%R z2EkM|A1#|;MuQm%^I~JZH^VePLYa&bM7{&`ehf4|W-2Lez9%Z9Ry$2Ooae?FGthrq6=^TL10gr*>L*x&K=&;OWJeAYc71@vgi%Uu}j5CoFf;k(Ggx0js62%uQC($K;>^Vrb6sGdpXmV4Xn{*Za=;`S`r@pJ3> z1)tpbh3=Sg;FKh7uQ@q}B1;Q0%m0XmpyTQgqV5u%e=*b!+nqYFVIF0UXiTE8s2~rA zIy?x2hR`@J3NAt^*Z>ZSU+n4|X->R_3@|W#|6e8TVj*|y3qAuYLLTnAUH&W-!J~p^ zmWUJaa5@kg#TeLv#zYF6J1~O)JbusgxKGggs~ z4vjlnWd-C?LE=VjWZ2P}Yxt)FS1ONx)dH0);!!4EmV-k}-MXWX9i~VQHGcQ>X&Uj* z(trW|44u&bi@CRqilf`MhH-Zb?(XjH4vo8OfZz_n-QC^Yf?Kel!Cis`cY^!dV6nvn|S1MYT_&kFm%zE()SxM^HwH~S{ zPzFm$pP&?1E?ErZ$!(C<1l=Qo;TL3-PnTW!F1 zhIyB;-^UBS_4@MnKAS4k82P;qg|i6Ma)`@MrGU!F`!TeS2884jigaIdkwM;Sey1@0 zsXVH^Gdk)nhq2;yqUZz(a}~A|UUO;*-+*aCH>fc=iK4rZXJxwpy1sYbcTfY~FXCTn zJf|X-c`SABlYT6zd$Lua1(qvqLBQOGi0!d33=0Jn7Sx&sgs5c8RZAso-L2VMwAhk1 zO3@g|bD=si#75{cHt};g>!X3jYUmY)poptIzZ}O z`&TWsK*^u{UF=Y&Hp|60EGGdS;eI-XAuA^17)=06Gd(+ip^ex36hVHv!Nt_zaZ%`l z)R2n?^F9??Tl0Q!5?#-5S+PcXk5H0Ca9i!~$D!x&e}mI8yhq9{Y-W}_Y$oTnZZ&yO zrFyx}4{JVSVPkZpMcGTvZSg5F5IvBzar6!|2)UsSXITD&7)yFgxojvV;RJX@wpb|H zjl909Xn(~@o;}ld(qb9a`0y~}u7$i9wK_2r8(l98pQgB^a6%dr3c zf7DEN(*1-T%wSk!ABpB{LRe#6VPyPSp&&xKnv97M%cH%+M;tml|63$!;>N)(%i>!F z4ZY2Y^*2689G2ebSlK+KCNLj(&;o`sz@VVx3q~`}X@LIxVj|Z{9|9!b=BSvckn8mE z^f8W=tE0@`ALF$Idvr9%L#8ukir){7DIV;)QB%c7|09NkU7Y>JjiwclS$1n4Q{@k1 z**}j79E71GCP}x^OW5FJR-n_eCG5Z_S8$I8%h3M+J*1qZXw?t`%U88kh!`AFa(ESo z1q_BBTe!`@;DOpR4w8+q$?c(#KMr1tXe&05B8HX40n(R1GP2CGG}3HB*Ik9m4Ke2i z^QPhqqvdabf#g9WRWvvh4=0`7STC(rKZ~g`3g=eYPY*!F>4tiFVdsg*J;Ra~5b`DF z*bUYTYPMkPXXXfCC`OnO{-sS!zAOrd06vh(Pz;sJ-AJa#OvZ;6K-W2@d9O0*nKaP4 zS2l2;(&S{@@47aD+-6q_njlW^Q6f$8OeoI5CzFy?9!@S7W{FLj@!gJ1c7Kg@Rwyf{ z7U70V%3JsF3$T3T#pkvrkDbt#HGs&w`GO73h}7y*{}@UNu5$y$n-6K#&i|HG>c|#m zN(*|>wH=+sgH|Sjaa<<(G$Xu8I%yg5ND26ARIFmi@|8{M#9(>6yP@p8HSPe&ajw8T z{WRn@m`=EaOIms`=1*SQo4UUHT~s+P|JP$yLf{kKR${$H`7Zs{?rtYVq;0n=RXbR) zM-VWq2uxsoM3?ZI>>QGoN}-wMO7OPvji4!A=-?m_g@MwNQ1*qm^GD`|n3lypu?7hK zgb7|F2R!CWZ&xWVL?mc?rq@Bv6y-AcsO9rnE87MO%1#9e9cg|(*+IY+x1-qItQ0u25%9KwU1?I z{v3_wflCz(Y1JSX82N}L$iUQ1?}RCmc|+_W?g>P5!B2y_+*+c(iWE0W$vc4O+00Xl56M1tKp>TaJLF8&qAGNf41WeHm;wt(h87% zK3=ru^Zcgjgykry5shUm^A}BZfetx+R(CoQtB7A}Esn?W)-PH8QFr9aw#Tb`y_tW! zQ2Az%$5&DHxmYot7nRmDlo6}apP&rbJ?Ym25dq{Mm8FxDoJuJK7aGZ0^1a zl|b>W07XSW^ZEx8zqH=v8Z*I)^jZ|C&A4fX)uK&2JbL&g*<-Nj&*k|X=FC29fy zq~Md})sXa(Oc5b!6svEQDsSIm_(Tw~TA&88hJiA{b>VC>ez2k_Wl#Ht8Bs$vGiDb$o=HKTiD zAp2jv*i6XGxd#e zgbfE*H!LcYJ%~{H%iLF={@L#$`icDHFu}Q;rP9=9Ch`y_PiSRRYLpwpZ>(WCf=m@j zroy!DnQG2^bH<|T9;wUEt3J+@YvRvtZFqvo1`{O^3;|VV8CTl;!fX-K9weCx(OCGk z+_Jw3cp0MSLYL;jtkG|`eWo1O?~c^LX->ak@~~!B8!gyIdLp<7gVZMTc5)H0)irR} zt?3UN)b`e8phObvZ+L|<+#iH7F_SNX1MOw+L+VEBDbd)kXnwDoE%8gf7LuPc->@r5 z;8`D#D0FKP=vtYiqP5KS+Ai2w?2;B~TF;WRSXSn@&`H>8Q>CIj!m3F{7UX8vc?r-p zy4F&=XVqN~tOl31nb?tr9-wqeEh5lLn*nerl16R2p{0CYopDm-kvYzUB=mWlMqAjp zQZmKmf^D;O4DAz5+)W{`m>=6GrXZwrmzE#R#5IOY0|~}V zuEm#vqvKwka6~_LUDiVmt5Y5k2Zz&jq!mGLEZL`4$J1cYyF;RHUHfCb_qZsq^|v&q z2X}iDep8tiLvnF;w}a1DPdYtVL+_rydR`iQ^m}_=>osjZ1jo9~y|n)m zwesFktn)akN6eM*-*)+NqCou^THufb0d7Z%*=|OOrfH!v7-ILGK4+b!&nf}}-Y<`D zv^CrkO9*$Zz*Y^RHR8u4ZK|Q^n0Q^=@S*!bwD0RTcYsrLcN}Xk=$XqJGXd)GD?c-O z-WA;J_qAE&K5ooh>K^(7ri}|Z7?A2R711N^35=UD_a}A6-iU!I3!vRgL`1>B#jk%A z|334oREYnulg`NOP^*|3uPTA52k=*4@bdnGmYT`OB}&};x|>)sTR`TSBclDOtUQG0 zSiYX6ye=`hoO4`Fjro3nMMd=4CFoxxS0n!k7SrP0!EmG&Z}SWUxGQ7h}( zi#Q1aCrZ94=%;1{mumBVqv zL7&|$^H^O@(Z4jM0}`l8WNag;nIu?61zCUA*&u&MAawd4)e@FAIM2rN;=~1tH~(yqU&9R>(A~u$4mK_jv_h)j&b4Z?N{lt7h=K z%-jnE62;vTwIo-AM$F;ZU8Gr(IYXb8>UNay3{SpGWsY)&vy3!6`#s(aY5^q*Yrn4e zzm>T+`P}A%gn+5VnZ=$V$}J}oR_B8Z*+4;-Tcx3>FLqK37ks=MzARIk0q{o)A*2?@ zQHcXfzK=p+2ZvK0QCWi{fKw)j1o-1(6hAuHCKkqksYRP$Z zlA}*jOGE^sBo`u7O!Z(us-rw3Rf1H04}3aR7vYb%4&Gs}D#^mQrKd$SRj*HsoGV9y zB~%Lo`#67Pf*t-pqx;KV^dfU^$aI^0-CVYNbL19VtYR9XoV3af5DKe{d-K>ERtSn>lw7j(Vfx?#Q*>{vP^w|5CF=u?hN590=s;Ids|O>5>z#a2s>@+S z>PcZW@*T*LF%*qZ+T}qpkPdJ(x0h|93RcPs)ab>smQizqRHkXa85Czyh3iNKCX329 zWj`cT2ZX%kf8AoTkz@oZ*5ps#>!O3s2N5WV%~R19raYvg_`*$?;KZOSni26>F#x%C zuZy9ME&;gyA!_On`)qk}5`gLPkBXQ!hI(%8I^o;v69ao{=t6xxqza(^atjTkF6P!0 z+_0S7u3XiMimW&DXPP*)>^2wdMhU+~e=RE|$(;p~V79^b%r_lNA)<h)wIiQo)*!YqO$ToZco~`=fem zX|Eb&-#MWEPURlfvXrO!4b|`DD^P0DtNZe+>rwqj0XdcPjq3u5Ata7Nz`4~i+1iIB zTDCpXwJPPaGHkSpRx|{KdJXPp^^C61E}!kIQ}3A6%DsF)mnoVzC7o-a*7!y;dU!N2 z)!i4QF6n+mQiBEt1A{x-^BXucAL|XWzOn^G+a7Y+ltD(Xu+;GGhD$;2$mPn_{tn^B z^*Fu8wwI*MD5D9vg&3GcTZK0G06)|~HkU2$a%)XuZaYeEP(S1hA;sEH9NCjn<=fID z;)r2a()(l_?a5z_rpbr!F|&+Ex*8%C0;v)9XDvxTq67pP1mH|bt@+7IO^UBnLiyg@ zH>`u{xCd+AQty5tr%CnXJk6=W^J^z-oBvar1r8DlJ~6lO?D@5W|Lm7_g7-o_K9z5X z4q>L|L>{&oheN%z+=(@79N46TjFPyNhagezK6>$x>?0rq$vQYZf~mv>7Ae7>dbVNi z%sBj#95Yfxvvy}Jxfhg$8*<`f;O1u%QBlrFBy@k6K7_^&&vOOaEC<<))T?kuDPCgl ze@W^dyOX9*D8dzIRLw8=eWys2sKhxyXF-=eXq9YH}TeUu)xBwkYG{L7?I@Rg%oC|xV+JPnN&`sox(wurZHC;o+2-kp#tnRK^enfb986;hV>eg`_)R2oFu|!sjb<_bU}RbbJJ$djSe2_WWgj+SL97B%SC}5@CY6=>N|b9@nbCoJsR^ocY?i!Cs6n4a%L`(yZzN!S zJ21fqMsle1z!R+xH)@#ir9|jrSO_ozNb?3tKt#b{?HQ73WsB5P_iQ~sEMEwc2gjZL zKoOkm?;!Qr^$oj3-8LQ;6A%V9b@An3H*cMj<8oz z3OdH7?U{L|MP9B3zU{AwuT6CBjTXyn&Vr+5C1qX*;L0R$6r1PR^IKoAXarrNrq_JP8Z8v+5=Gv0hZPjQzNg+Q)^Z z)NsYFh^Nc51#jy0duv|yQ~z4|c53Hy3hw?w_;P$cJ@9l5bS3*b_n@R;)8q0zOo!K~ zVT0jQRiRc_*J&qjcVL%)6V5IqIpT(-0Z1VTAe@t(0)XQ1&DS@Y5aq1X@c4a`wr~qT z-rl&kUiQ|Lx;w6O6M|;O?zu@)6cJqtc{?|1bv!AW**E0zvU1gB0-Hn^$LC@< z9xy5pDkpjv&rE;^Il}z7na4oa@A}|q*O$4a$n~qc{Wu%k7jq?+ztJw8NW@n^UmX4F z``-CFMNsu~lHaPD?wWv2hYPJYIqK*2+QOvN;ZuyMvG(xDi*tk524BqhPt(@kS{bij zyu%y5j@zG=1fky9N4dAZQ0CYY$(osYe|qUW6g)@QI(w)8&~7`kg9r?QP-IAX?mgdp zzum07ILbZWoO|sQ2;Ed8{^INYUVD|K13tC+{=E0RYU%!5ikog(m=nTZJ3N0GtKvgg zTY2wBqSg#o7Rc7oR%@~9e8i2zFcedc=^SC)l-wiW2OcN?i4)Tc`t?7Xm%9sx;&I>| zjVH?b_{Vn1wApu5j7d@Wwd+xXfDPAMmfHsQZ~Ei6kH65DGEfJ%EkZ+n%=&lKFZ=-N zt9&fkSTsf`W2RNc34raSNs5I(OKA2Z@Ube%9OaSuIn1Qtu~fn_AYf<;`Zj*qw5r88 z6mLr(oJvb^#BkO0IfFlBfCkx0I?<9P=xC#nu>?6P7}B>cBvQEb@0_2F0D6_pQv6%UAy90c^Oqq5o0qb+J$@CRoInrvP70Yu|H4j z0Zq(QH;6MW*hHpIP~T%ubisl>t`-*HFbU%Ll!~t;?Y$GGn!{F`i&5!9WGGSFP-ALK zW`~O`eR7dWA!goFZ7r&HUOc8h?*g4NEFRj8)NkO!SNwqIVPZmfte zqe3WYoha|t3pxr+lhISq5d$xHQulZN%#SFc5KhMgJqS2+B%2-~T=i z@Z=G}WD>#>HNl(+Wv|fF4E#M`x&{RF$PX_#$Cikebfz}(=oLm4TV#pErZ!@Q*li#0^T%qQ1=*x+kCjB{tPh*YMV@A7Jsxpb;g7*5@P;(L-!a0OzLQBajb$nwu zggr^1dw6`V34uhlyl33}J4uVS>-E^}NxUQ;86wbgpK#^2Ylj2#je#7hw(ITl?a6_h zix0*`d*^lFNs^)%r(Us=!{zptGj3+$5(u=AI5oZx_e10P_7*z+i^KiLTld1eQBTnX zKILG)+?64fA%V$V9UOv2&D=aD&|2V&?mYTYGwQ0^f-#dfLIeQEWHuakkK3|{X4TBo zE{;4Qhx~`3H*kp%5Q;<-I{QQU{Ym}B`nL_igEZR;zHXg%+3%@4XCO@;=^5By_|!xF zSui+_`@rg}TQ8m#=gl|TUdG;J2|$U_-_FC$E-|aaDKi-?P@WYlYu8U@rj*QCdkyriq}~2h!iQ0{-@^VXrjE7 zVv1HfV!Ntp8m*KUYzsytaik+k#4{PbI4Q|oY&RPtBrp>mT|CPh$Z^;!JD&Pg|7hqc zWsrM+fmBl~RL7q;ql2+I^P!`8uEeO1`JtovsMFKQ_YIZX^L%3DhqZG8TDKm}m`hS4 zm-c0w(xLHj1F0MXkxZFomRb2#O`)o&f z9=FGVHV=fI6a3CAM__Clb-{C~Ii*3Z+>5-e7(d}j1*U9_7p+B$5A=cZKr%G&>q>rf zDxqdR*?M}1g{Q2VG03A%LQbP9N7D&iiWt9?JNe)-bd-ZQLGbi?bp~#ikJ87$M%aGvuUx^jGyfKlZjneq-Uhz z+y%Fn4czpaP6|>Uwi10odk%{9{nAPWW9kmVvG znaIPGG^^CYL)4O>vU^*=?MoOy*urx+$qvO-*{YYb70&g{>64&Gg6BA)ETGRqIWm!* zz2t>c7C<5jh&)CO;;FZiEsRvbkOfdne2m$TQ$h_u2~+`&xsq0x4`;F|f+>utrJUDI z8&2hztDJ4o?2=TND^X%x4X2^vh`T`27j&%rcNJeL_JMHV>&8)7t)3h2d6(UX*7#%& zBIsF+$c{)t(x&FitYsEkQI)?T%)Y^}nursRvOh3X+dz%f`~@%V9M?}KD&3w zf(U<;U`iN;iEv>nw0wdBnQWL~$|dN6h)9%RO3qHxZ&wjtn&3&aMCzTQ2oVD@L5E;8 zP^!~W1B@ty`2th8QDHP{kpnR?NnkX{``|EQcLVxi5lGW${QI~0f79Y;{Um0`<4BG) zw?gOZcUFee30aI%yM_RqNXM&$Tc@H6C34hH6U`&PnExDs^uLJ=Ys_}v1Hs5Io4-<} zg&%=h!^Diwcgh|KuQ(u94unTMTuliqUq6)|6 zQr12Q=D?(<9v7=cm=+F;P%m(&x#6qr7JN!EqAT2)*{){OW8$GO%?o8gXY#Q8vicA5 z!Cw=7VRLl+nHndj2V@*;Gpw#eia&1tSNwVU3AnuF?iBcM)MU_MxrUyBD-~{ovA`$P zPj*ANyn1H3fAjOtmv-)L$M3u6(|7;m=c><2?qbjGI|}Nb&d;;1ztsctRLB|{?yFK` z_P#oQ!#-=6uM$4rF6p*32aiGwSs;50<6v@2Yw2toCAnyBBW_kl>?^SvK8b}68pRZD zvCOxR{#hlIA?1U$!AJ?-ZQ?b)S&)xzfxroQZ9+mg{$RmD`?kItKeHyXZN%_NW%Fqq zk6r$=)L(r}gw5hQ!;|98bomcawFA3yL(4iF3&E1A-n>@*(1vCou_~&gPc2rSd~WZB^{>&SwR2`zd2?t)vnws@+H{93+&t97lxCG^1*KB0!dKG|pI9)hc5 z@n6{?Ya}gQaLzVcH6cM>Qu?TuGwz%`JFaIgIl|3FYw^VfCKBU?PZNfO zu}s~x5r*%7Wu-}krir&KJ#sd}k1#^Oio5kaPtbI3^#l{lm=q7N6b?NTc{LHh{8-&2 z!;Wf=Z>=EYz&5R1P#%jlQ_PhvOGx3w;@njo(YT>IEeWtF^`fGfXmhGVOdn+dc(CMYe;p`AT*rJbV`6pkOU<@j>hj4Qr7!AVAR z*8&vK>-w5-3 zIk@wG1U~gp(kyULokACvJ$LFbz=&p|HH)cL<0+nSmm*3PYD@NXEudNSA9 z;HabVsj!o=d8~cFSDoEt5I`i?D};uR1P`;kh=S~6R%(eJzC5^F9=K7KUZZ~se+yu{U!;G zi<5+i2gzJpP~ZwHt9cTk9Ut_M<>7kbvB(O#xzfBOxgJ{t4B$=;9%n2!F;?nenOp+T zTq#)qa3{W!^iJTIEO3lz(hs=95Tf>;lz7iST_GH_vkU>;0l}I^OQsR274%B6OUSWY z(bpviwnrTqjP6$Dc#iOFAd8%8Lk{|ML^mXsyL)w6ZE;$t;97K zHc5lfbhz+Zbx3?9o2%KyjIh+C#T9BBevZu3$aFRq0aGNTqDiIX&M+Q@IBOAI>01Rt zS-UX@7RWjNcLi=4sFmu}lvjtw{r?5Rhq|A4kiv$vGW@qmYHLEF&$Qf`ft9kGAqap7 zys+t73&zEwwLXoA6K`*iOD6B?ANu&MR}IMPSKgOZonpu*Q*^6Vg6@8zADS(}f?Y1U z7#EQya#>sB?qPR@&}(_xzqluIn>7@xmN-6dC?i@!sxU>n(QXJAt;gizb$y&H%bg&=DIV8UN#wUv@{WAq)0cPH_Smqf><4J$n-9jou z#Qkq;iLXkp5A3 zGk88%`uKK(+Lh)+ub9g!i{hO*QeY1b25akV2Lv}mH&P45i$E4ihGVUpodfox>0|1W zqZxR=pX9(8nnAEMis0a=b;c?Y%~k$BdEc?d)r*;nJL`BvSyrA?ye!W#5SjQ1o9S#2Ar%zH z{cvn6Z0R08Q=IVJ3jE+KI2^L9f1)e6hDg51l<-o^9I5{Bn2v)ei^wBlC}xL>5G{*v zUUST$nlyk~*Zb+sFJasKetlrt1zJ7yT_<{rIKFq*%7SOECJ|aI%9sLJ93Zk`$>)VI z47Y@}VOcjcWq?{VVb9g6g|cBOF5XQDm3#!Ovn-mFTaPeQCCj{`+pv@##Eas@RwEoJ zv-Rm9j0QDhpJ7ol_^P^w<}){w%L9q+-caaq7b_N^HY}_tNq{2q>Y+oIxMpmc|H7T8 z)s{@S<1~^OM%vtZf9tXL^O_@8v9j+(sN;;7smEm>X;?#4kJY0A}qb# z(KT8kdVh?yR2&cTsO6V+H6qGkvw}>QYoN+u^KO{JibWd5gEEcy6PQtuB+sBh+2;8t z!BVN--O~F6)9__r(V7i9J^yoIw002TROR}EF)bP`nXg3oosa`LB|o9>66zol-{*VA zdtbJ)q^*Ou5*z?hM|9=++=PFLUeUb3?=n1W0)p&;n+%`gTT#C9z9nze_KW`tTw(Zw zg%b|@2df4uzIB>^ME7B>ZL}-odO7UduEf|QVz4|EE6x&hYRTa>&clu4kxWEH3xD?2hP&Ku_!h9uA-B;e1lbHYf1$nHmZwFX^6 zQW53*-(j7~i#g}R8jCVTQwj^EII())ip5Jxc)lkWW55dEd`k%W**e!eUzYwEcMguW z#39S(dSxNPD{Oa_hC13H8WaMvvQ1;lkD8_>8`F>D)q!CShS)M zH}$4c{o4kR25*zLq^hUi99HFId!5Br!gZk^LrV3&Ux(J13x-J0>K@(X(}?pFTI0Z| z@jfs*%>BA`_Fw*T)n7fGAil_umGt9A4#i&L-vnv2-jZ(diwr)#p>rZgM$}x%@m5X< zi-OS&c;AE2G zr%WVP*0vI!=nneTiA()3cJWapKn8%P5UYd{3-j-|<2%Z99Uw;&Qze zJKW}XCTEH}@KiPup)1b66FX&qnXz*#F=a4&R_gj9?8)CCqph8Zth;@64vesaF)3n! zA%$?n7ZDG!?tjCkmB$?t)1Ks`l~1Z-7V+Gt6j#pOi7nt?U>EkRR2@m}tw9bh;yv4hR+lW>7 z`Gqy))U+npsoCuM^U&n_&@?1i_&s?f^yqI@0UuaZa5r!q{p#`Sr8j$7;r`-Y%RRyG z-S;_c7}2WA>3!+?{vBYaUF6;2*J@w*`1;y;;>X$ZNHlCeX}`I#1Q9{TukR*kpT+*i zA#vo8T$oCEB&;5#lVfAH;LE>Obv52P+2FE94XK@Ayjs!oV}6#p&~x;IeLp4R;-kLk zCswx1Nn=*n2&`8GJS;P3t-0E$_GkujstWeB{JAPEL8M*zgJ?^=V()XbEI)KV{0FnD zWy#WiF*3Y+p>5&s^ja_EokrN>jM`>SRC_o!^6Xwy1_&`P?^Jj` zZ&e-y_(v{%9n=Xg{tK~Cs*;)#{_8>b_ipBe&@#(ieR}f=LE3K>7;6VEL9-G`BA*RN z8*8Jai?=~~3)ytgi^s5EdeVx*hHM^>a|psPUNKe3(+ZyrCQ@^3&v~}VjSvBHXwA>L z@)fGVO9a-hn?l_|-}Xss-k+)3pPMvBItGUIh#o zalzU~;R|b495b$8=W48-X6PpEKdgVp&dJ z=o}Jbqyr%Vwv-J__^D%3A`HJ&#e_`MUidlGwO+b8$f}*UM8%kHXDER`dvZ!pQNM5`Ro|O)0-y9Ab)y(qo%NTDjlt={AIJZVw~cp*RP5zc|T@p8uP9h8LNS`?+7l6-zKgK(@V&W=(kX{Bx!1JDBIpBQ9QhHo76sc-R$Iq<9(#N}WmD*US=3e|Ff*EYQB<703V zG)h#|vIW!}(tu;GO;SsY5-<3PS3yDfp4HtVY7SvQC4M(`^E!Vu?ri{{#Lv$v5>>oY zzIyoItQJVAWwolU76|i87hPy{UX!(6XEADGdmdsw)#wm+_0ZNmaeth8QsDwl;jig| z_!q(`4Fn3cvfrEQ2MnVysI|l^E^2*`2}@H*3Y+g)Re>dR`F35y?-0)H-b<7>3lu|3 z<%O^Nf)I2RaQVW-_14cX3V$lSM2c|<>Zq0ShKeq-HmE)lgI8lff#_bos3T_8y<>3=iU19d|j2XdU# zhT0{W36ah?Mpm=HKZD#B@*p#DGp>8QzBqdG8bA5${owI;^(MtcycI($qLSu}3r#j~ zo#Fqi=7Z3jd|D-P5dZ}Wp6$Y&9aG9zMg>%(wMKeO-PAK#F6)3~-2RCSG}e4(UN3r8 zj^EFGs7&i!nqTm9_xk)SWnFL7XxZg?#rjiD#nLHR|9QXc>4m6}rZQmz+)ZSIn5@4FZn7Tlt@97}H9c^czLG%e-de)qy+iTdm(i6(R&Ovotw2D<(*eFd6u3Ud$Y zBSpdjU2#j5)4Nd^~KHc`bMb^T%*z{SX~`b(BdXycu zJPgr0tY+}P&OA?4w{Fv)%JoK7BVY`+93_dPwj{oz3s-Pa)47P8q+!! z96tcj+Pclf6Q|Z!jd9uKQ5{x|SrHpd2wWA`qm;TgkSX{E@Han!9oxrgMZcrTyc?n< zFK$XUa`k3OgjjKk&4ThlL9B&m%4?(fA2a2GUg?A6fJUUxY?r>&J$#zq`Tuf4_8tcp zfcSF3UBR8V`ZLjF8+_H5Fr%_cXgDjFL~7Xgaa#cq26fazJMOb)O}qo5+$rTcpSiGO zl>4VMnwq4t2+yalH!s#sCIM$)9(ae1v=9&^81mn@?28eT(6is>pk?y}2LZ?;7Vw&lp=#1I1 zhO%>Um<&OZzd*{?i=K0aHHrR78msVQn`byIUu5v4$JDmLW=*0%Z%1;>R)Q-?jNs*+ z<`TLYjgu;SfITvEl;$Nl4*z*|))5)b3qtY92*ovgIYnwd!Sozn1bV#(r}M)<`2bJ$ z{m`^p6vei`04w`hJb1%QyKmUm3IkMGiJgiqQN$hQImdWtTj>Z*80ZiPKLOShG~?5h zZjP^|)WCK^gR--2gkqLtHmwN8k?%sMENU{lL5Y@>1})Y3EmLIm@W-sAy~l_oAz}Ra z3oE!ZxUX=YJ@s#DH7o5cpD*0df6bzQ%rp`N7p_LozhpOE{>LETe+SWb5{}rD|2zt% z_qlDJw3;j*{K;&0KUh$IAw~tx9>N~t*NAv`f)V4&HQFDt_~fiajDPnMWW9*VAFLt^ zPn?{IAuP!10}QSIc48xT)qkJa-rXgxa=d8{WuBAiuZFP3bJbAO#EEyEo$OD}(9$>( z26LNB&Bd_~Wa)bH#~uqsxJ3+6M}lpRefM2Cx~f$@cUFmMjzT?7CSa1*60*;|$31v# z?w}yqHSzsKRk`2}cjWGVe~X73JB2gb=Z)LpYsjePgX^98vtuQhJ(u60NZfd972f8qD|{C04PgE#HyzP3G(TK5#p`9@|& zYJ&S#pYU_diJUh&9y5kjJ1rsnfcP##`7zNFyb=1u#r?g9E+b8fxNy=@{1F4!^PwpC zVq~05NL9?x^X?*Hp!4A)Yv{RLO+=!~BSsT*e z(JGHJjo(o%=)0vjVl+AgT`#K)pjktcS2^P6vyin@zjQd$ni=bTwaFUH5ovBm%jOl3 zz;Tb%h_2tz*S3);np{U}35U1@RmkkhLNSt_`1e_|gR$*ABg+hb7N|CF-?V0ib_T&@ zh1S~@U5{@sP_&+d-n3huYD`13rI+BS=}X82E%&*}$>{dJEGFvERw-4qqD#|Z8gsJu z!`Ym|fmj5rfLN^XdFh{^416+9oY7AY4wqxSzw|_P1ohp|j!GC8B_geLWZ2q8i-T#~ z>XNkX(LTWZM}R68s;mjklJHrS9so1LWZr$mkGnJO6pbOJ;E z8X4sostjpmTnNL!cV}O@=e0 zBqO}<2xHiU=KJ;=ebYGiFP?d{Mvsvl&p3BU5~v*qyd4nWL#{eN@3)6{!)vz7X%6wv zQDH2<#uOaR?$SjvlKk&6iKy#su3uroO4vfD3vZvZMd5*uVh*mw0*AgV{R!GjIpGiK z%Oc8csiDs>x%ctqfz#~|a0O8?1pjD)1bDfN2@5C-H3kiJjHb^ru~9nd7tFQ?QI+9= zx8I{%O5Wkx5(S+it;K0tB}-fZg}+>sk~eT0^;Hv)kGgN&yBa7Qsw&13ADlwYEGc!yR1Z0*NkW37F^tFT1z&A|~N5B-m^JbVL7J zCu0M#68${1@kMw1OPNw0FlVoFx>kN-q;!wvB5U6QBjx)4E^Re^#5w$zvrLZtMV&5m zjQ37gDWxL|NqA`&O(8fbAPz;5G+UfI!eRCi3#e_LR11aruMPJm_S?H13iU;Q)&q7~ zICc01Wx)|O=~2VMba%xE2;ZL*M=amX45ZAfvA$yeOy_G<(s$9n@R61+VJH>ZHhF zh2cLIH!=)oSvIEjp_=oT@wvo#i8ImCf9a9$=m)DGe7XOd`dp`csSD-*n zrZLzl==0_H**O)owgYoCBhk$cJb~3a|PTBb@{*Vise_5f2uRT=p*qq>t=5Jn}~!lHu8#Pwjb)he!GQ z{`omJx(g>^ZiTHar_1JYp9Z2EZ$JzJ+mr&?s-#9FT~%mqruZNFoZsAR-#FGQcfJnVV& zdY#n`5S;WBd80=4*GbXioCzD}79tU`_oOLMA zlMzi$Ut2eudF(cHH>8H+VS%)4aR7ygG)M2aB7K&2uOItTr1!aZL}gG2!jZ(G3(@UB z3V++86c(Wq*t_=iK_8f0=-+E7Ey~)fp~a^x%n~Fpgs9<+paXLyTqCR$2*z<~8(<|& z@L5*W$+N(GIZxSKxQByNWnkO9kP6~aqwL*(hhPxSWC)Y)U&?V_Z@em6=^Cc-93!~& z2+Bl0{$BLRGT{CU9x>V?)bo#xro?5zZ{`p@$m!_nT01 zq`^@LEQ3&TAcki$)Db-5VyQ1267~0RbElfBLVP#QPu$aA{vjaMK39=yc1m9;HndMm zxCJPrifK_zhTn7MKIrpDW_e7UZ(nWn&)t*D<9>qX)hxL{I>HYtNKh8$#hDH3ye$n( zICnjoE5x`@dluSx6z4Jw`Tn{m^%ag3ixN#t9HwuX(s;R?k)|uM*WexOKFzXD&nYPc zPlkBw?a$VywqE{!6zq21{#*}q^zvVTIG-7nk!kKGX2=;alvqUiWa{4`v+)MuD9E8O zkA3F63e`XVJ}tx!Ut-cyik#`pD`_)bw3%L&)z7j~kd7I-m;RJkxMGf01>(mCusgn> z-}lowQu|Y(j`eE#EONGKKwVpzgN!WEaQ2n4fG1~Jk!K6YkWDEgA|S|xJZg37j2$l{ zFJ?!iqHqi`KUTsaT&3WH0OZ-NDq)XC6t(Tb#18cYzsTrWuT|KU?krY*d3E3AG3PGa z1jjWH8%M~v{^5#WGNu2n?7Z~1n8n2zmG5ft;m!l~H4+$r=t z;u5ISwf{-ZXVX{wMqP>f4KN@%=EEz?D=h{nZ(3}2%>16g(>O{RYV+0(p4|V#_8Y$y zKt-l_MHNcyHcg><2zAGcv|xt#yRg4w5-1e#>0z^*37CT@8(q-PlvB*`RMXphmI#OB4UR3S!L=fi$o>$blwL0R`Kb!vS-37H2x3@TF5>wHWv0JEVMfp>h^T$A zsZF5sZIGTn!CiB_AR_HI=h~`an6oMPvkuHCnfUisd{8paWOlXi$+JkLM5)kgRucFB z$Jtu|#npA`!nnJ;ySux)L-6441PJc#?(Q1gA-KDHf;$9v_?x`n%$=EU>ej8lR?&3B z={~2|-h0W}>v`5u360$dK5wY786F*FUXBhE!YdE#*)AuBk+f&BGSLG%3E}ZIcYLmI%_G_rtxj_3YN~{(Agg%QB`VoBD8z@2kP;tFqT0F zcYN%=)Cn!Ab_7+4E|n6WzS8Ucq06)V6cW(@^KA>z`mJ-g`U@XNhWZ%rpHm#QBOx!y z7^`G1vEm#9OX^_seYOzVWNYM&P^Wqp$QHjdjukZ7 z!@>rDYWC~c;K5V1z3<27PmC8gjM&(BkJasHmm;JCKB>dyw0alceSze|L#AcUx`^B` zE^1Ri%|a)xABVlpDUfSchgy!tC-$|Tie{CzCDiw)&kbC*snjG4x%^^k*?a~JrMj;s zMj#eWGvy8>_j3qyXY1xnIxNDuBW%xfI(zY1zjSu4kAvD1;S|VWJX3Q5WlRobNd;wf zv*J@6pJbDG6bSfvKn4-%sZb(wjdgS8HZKq3h1tkRHjgCdjWf0;7t&nJ>RF=Gv<-oU z{`tr2G4dBF=hLg{kLYdh&kYC5h`y?_=J4$@^dWh=3o){R{O7+Bd|{Ze1E@h10xs z_I#L8warWftfM({Y_v#yEJW$_hE(QspcULc$CwOy-DNd0ER!bWUpObI$1XUi2sHPK ziC!X41K3{q_d_UE*;pYtw0azF{3|9HYYXc=X(PDZ<+oaFFTM=Mr{!}v$mzGR(uq3$b8Cdc;AWVh>?cZ4kbVbRe;g5lL~3M}lwk7_PqN45c1HD>tNSmjc)vm#ZuF1zF)z z{$wjhUKd^5Qab`}b$sFfx{kr@S`ijk*FE{%dT%u08T!qvdB=5Qpo&L-+XM^)!46r{ z=SM8d@hS1dy$ueH zz*?8C5L#|OxiGbc1HPK$YMS)FK}Fgmv=5Wu8lBPvU~F@M(xaTCXb0UfG(t6oNe|DE z%#h%LP!@`V!20ZKX&%$)Cs;BUS)!<-NX>uK5ze5P2i(M7Vp^Ws-M z{4&I5El4)aEg&d)Xo))YSP6CQwNK8hRKDlng+(GdS#8TiMF?)z%rB7t{x|9=0nN(K-Um8>ikendNUwU7hsxLKWXX0vg1ZUBqmE>~Z%&m8j+2p@TNN1c zR39LG-w1#A&WDS0#GHR|-vkbxMZ+F55o|ez)-uDj<*>Rsv-2%Xdt8Jn+@vAVJ|UQ* z#>224aE2yf6|w^GLAEc+dt_X=F$_*w`Oox=D%*I=J3bcRWaJOtrqaptv~}>J(Hu)M zLYsG80n$|GB!gIp}S--|x0#4AOZo&p?_{%3OEq zC14BV$mYhDG7o}homMkS;QN#&XCM9Es@1e}ElnuQE0vcBv+U zwG^rK)@7Ln;Yo;-A`HV7c_vyxnuDyFjt~0Q0!-ic2KA3Cmys74LW{l6p+%vk$N7>r zBvGy_l)hQHw&Npa_F9S@qf@`5IoB%<>MWnPO{Fy&Pv8Gk5tHZhDYs%mZ(tUo&yGrP zcc6F15?~98ey&rL?>cQpv~p{Zh-XHU_k;G{!+l7;xKtQ!yrOk0Zv{cVnph}y2=y0l zAoUEVSg@ksstpXopnLC|Na*0MYNin~*h_d{gTzUx9tt*SF9`PaW#}J5Hl3 zJj{?JouCe)A-V$np>96*y+zm41f{fvwf>DoZvf3uiCsomMrf#`Bp8K}=c73(^d|HM zwI1+n*cdm90HofhQ&*BZAcN#i8yVBU$$^qS=`TK_(`LZ(<;v_(f7$9b;1BHT3AB93Dvn1-?EsR{Z3CBjpR#Z!GAteDjveS^^ z|Lp&a+zfu#ZvlJ~x(K&`xDZ=QUq&ba`-FzfEnGkVm|N*_xcqW)sRJ!N#h;6MpOYx)h}gB=zGv)wuf?1R-D# z8GOOwdOx`tMVSqzZ>3`H`d)>Ir3nlF2I=hpJEwWmrl(YjC9RZv3%i-Mhn8t)JTHQt zD4xPUW=8@RTE&tgMVIOdPiiGkR#HyjDT=zvBMety8u7z4=|QMZK$;VkX)ZXuCiBRC zIgHDv|BR;?O8Dl!m{@i-HR0;2`XReP*N-E?ZX#rUm&^y;&hNFvSfg7@JQ8Z7W+!z% z8{9$RDE7SOffR5A+!C8FgjVW={f&OQ%C6ufC|kYX7(4yP@YH?`iU^sZ=rtd9O;#0 z^bvI?+J_H*2HUVtX`ZW;)}!E8jL>_vIbBv=cR!k++2GW&&fKtez|9og!}69L0-VL0 zH3tDEIe?f9?L0Gs^$!rqCT}P_CZ`1m(+-1h8F4`f7f`w}Wsb7w9(xeZj!6Y{3Eai&W2mDC}^cXe|c37U;1zMeLC ztlp>rH}9*Mh+bLHJQh#(P&xr8olmgRfRm4q>$i}T{!84zM(8nbc<47`Hr%%i;IEit zbGqhMqJ}gKz8RN%CL1=8R_r~o{xboA)i2n27xI4p^_|mO>v0I*Wth*4DU*>2Uw^Sw z6-8y=09ghmxy-T7zj~4mjY-EhdOWcgmdOUdlD&6r&uE*KQAhvLoZEjGg!?dVV?jb{ z;AXqZ+dz+;(&RGC{KMIF=GE=_>blpr=QUFO`@jb& zerJ&=2A%W*#NHU& zJn?`@p-8cgAPmDU+TT>VPOW?W?R(VO$f%7dh+={ z1UE^_y3>>4>-g+u_8k*7UQsX+P9*2%j{3mvNNr(HLTCGCPKNhgxP7tg&i(|SR$LrO z>Rq1C%#2^vUjWi+*pB7W)VM8iBZ%;H2T@k}38Jp`ClEl$RCEX4D3vBuY1D>Mr9WvPmx%A=i>pGh zpg>+b0Q(icA2nkUs*T0s5U`9tp3b0JW|FTu>NO^ok(_t__kkI8C2V1y8KzL`aqS?--pN#XBQqC{-QMQbrj*Op$$u244%MXztzlrGGHH(( zG7Gbn^x!BM9?p2qc%DIeAX;;I|5rO7xDNgmZcJ$lBPqX#o=Q{#_Rrvd^8JZk#+H#6X%dKhU?Jv3rm;d!> z$~|H4N0i^k*T^@@NXY|e<$@MQ!YXc;`%})fx&=aWTtQi;M#G;IUaXF~Imm-w#Qu~L z1^4AhV1D?(8^U;l8anY?_6=mPuG-wO5-c5B(-J#l^&;;7wfiaJVt>)wlLml(_r`%aVewxP`)V2jOV^LLWRy`xNH}9X;=|gR}7#USqW!# zP3FQg>_z_sFQYp&@)*1Ed3!%K@=$z{gGfXnF6{D%;VdY~BP^zl{55v2&FT^R(pc(p zZ@#$Yk^-HS3s$>aEsd`gpH@+5va(~0D zWh(7KyJaKu>Mw5vr&v!`3KHk7vyQsMY2S@2BUY0!s^f(pA4X;Q9D~n zY-X39RZx1vZvChqgHDlc5FB(mzW8S#T3Ton{!&Y6ov*BCyPlmpt=G9_sw>-gi4v_A zd$;TNl7UKpcM5>a(fte57%xM#m|Q(9>h!#a}MDeha)Eo#;4e z)N)tJGJi&=0F*;HAs7r4nu+KUr&3vrW?Q%v@q4 z6`5A{RJ}wvcsr_29xq}h=`F|qv0(ty-_|Mp(EXt485-;JZ{%*|2VXq!=0$ZF)u+Xk zU#x!-dlk(UT z0YTbn;NWdcu%D8kIGoFp1`gfSVu8^q%e{NE&zEL{*+9P~Vzo=gOt%iFWHbM9ROwf1 zC$qK$UzOQcKlxw3h0$sWJp9CgT~qS}0eFgS4&nU;d&rv*@4v0g>Y0t!+pMms!HxMtun0x%$6dv|Io7Lr-QwUE%c8awS{iS{41%O z`~XMwDY{`J(5KvIQv)6V5+1@(kgHOYUXMNxYkp`=dwTbwT(@#=k~DCD1ZQUc{Z34< zFiwUT1^^+;jS)0uf<>{ipQQtHHK#xmU*x5SP6oxLVUhMKbc!44f%f2aDv4~m$D@Iq z0Vw=a=suMW*RqKGYv1Ieij+(u4olc*@1O)O92vTaGZQQR2kL_tb*-%?3YbpG3r;g! zv)ntkP5K_T?-qJ9oEb1cgtu;rO5x0eMd&920(Adg9QbJIuHxq?tm&}9zLN{T-li4` zHF$Z@M9`$Gqp2Hso)sv0nFTrWF(y0oW?lDTbu}VbrT*NzpULiQ zx^UMJQl`~t1(HwrD!WY>U9lhR{@o>On-d6SY6W+n))j*(? z2hRJ`;=}0+Plpm7JrVHa`jdFPz5eM*WD3Zu%^igv8`x$b&5d>g35fox0V2uj{4Eky z_|vSaO(fTj`qpm$D{bnn7?AuYZDIi>nP6_|ZkFdgKAth19x))>!?F=p1PAFd&1L2{8v2J3P! z@(Wf=ACYCd-c}>z`=1a87$pNy=f?ce6VRbZc^QSFaX(t;W*i6!c1eE5?-A@c!?B>ATkE_#hRMNa$8U27%_II2ktt#)9$Pj1h3acjF4BWW!qeFF- zrK#dMC9RQ!jz(=J-~#sxWLPq*X)g?^z2w3vn!6lnrA$0{azAxK;Pe3j(1kh! zZ*6*$-w?eHVBsVE4tX0VUe_wk8K$6`T8B2&v}sd=?7cf+9Ms(O3L{89Wrz-_`eUXvl=b<6sJ5+Z3=Uy&s`0-Gw48z+B*zvmq@<(Z zRYgQ>$+-H%Ijh_N8~zyj(Le8n_PHs76tJf{oPY`$mue@;5&dyPE|RFGbH*@dYDS$v z?zrkbI(YgAIefpLr!Xe?s9Fpnbvm4Kej2S2#mdi$5v~dq<$Xe3i@2*8?Gjz*$!;E*cu^%#-wi0!0 z_m4uE7jG9D1eBUn^N>e`PUmfV7?arnr}9Y<&$jboJ%He)faayBGp?_pLWQr^c6Scz zi5W$P%DrAf;GSpvYA|eqfNHOqG?YT*IK0AKUP9ag50ri;-4`>e;Ec*v`I+1g<9=mc zN_CwZ$Ojzo;T5{bdP8QW#SoC@Pkap!Y0clvEv!Dx7I8{1>pWN#mqFk;7BxvD@1 z>f#~>7t$wc-T`99e&5ymDV8R4j99R@otD1C)*?PHEP+ia;Y50wn*(Dt4Ae@tN;%yF zHfz)CwCs!4hMIMzm8E=D6$FE;e_UUJ7FN9p?+}OaDd%m=M?}{t?OvD9dn>#@pAjJVXL} z!5?a6YzmH8OhC{e_1ij^`2*Izv~V+3Koqi)7y)Mjmh3 z1(;}(MIx%mSUtjzhJ?m{Za4M7HJOWHGAS&jtTN13SmRN(G0 z=FZd{e&G5z{O|-TIHX8lK0dlQr@nXo2lWWhxdvL8AUW(3>QeEkblRWxTU^fTYX=B3 z;m01j9=ftH0^c!!Gg;Uw&{C45%dzL?C+vPPeR+Lxtz(GrrPEJE{9&JZiYXDc3!R8C z*`@Y|DSrOLJ5jt&peyJZuZ4WC`o_^St|iBP3+Ik|+wIfId;))oZgu0N77p=}FP!m{==70 z@3--qXP;X(sTHRU^SU^)g-wenpt6zQafC1*&v?m8Bnq=~G0m9~uyS8GX0A`*3_7${OjRmjoK^$9$wQtnN_dqT^{Y{RgyIOe~bcNq!eAHn-YtRiy-cTC6+*8 z6MDk7u~ye^`4jE4=^cMnll@?fqNdZYORNzQT5_`8q12$!!+jTRM+{YteVHJuHG_}f zW97pua!U%B^@sX{am<=S9BGuD>EdbZ2`OGPX5$z&=fOei?M z4D4ocXLQ8-fsnz{WLV@_#dJNeg=`J(LCOKjB%iOjsaUa!-6u$+P@+)o9G<}|ll5cj zh>|+0P-k1d@TON(7R?3Sq}5aNhE`b4YyQY&aQpYu8+09I+Qv*E8WHV5Q!?JLjx!P~ za>crf$c&*@G)uS(q@-)osRT)9$J2yJXAkrB74;RNECu#ZO$w*?QcW5Y7y?EM z3NUPz2xD*(mIOCYgNv+kHP750u1mx!JHliU)i%D!FtS3SHg2^&oQvQyrjS#LqsJ0PL zaFp8r4NnY>EO1;6v)@zWHDIzpH9EptvV|53xc_>RM^>zey(=u3Ag2*YjY~ueo!^_9 zMP5QcWm;HfEDnpmWLY&<@R-;l0adBPK*ohCv^+@T$yxZ9&ldie=y+KQlDK^~foc0_ zhzK9-rywX$@1;FE(9f?oJ(mwHj@CZD8rMo0}8gx*~YsdfqT7 zGQg;&(HiU$N|$x@<~;H>HMc_0b6O`kceeNkywefIH#|an3VhzA^;nb8 z`Y88Mz2iWa2hG{4k^#Qam?yKL;-XWu!jGpj|B>lBZ65CMautDFr@=~ta zcZ0NZ7;clywD-jpF4q)4DB)tce7VY67BvJYy$>A03Uo=W-;j;_RL@)qix+$VGYCE;u{_4;izQ4+Xh39aDtwgz+~)t$AKq7bcqFdS7A9~d+JD0 zN=%kJ9}wsftk|w5^oi`Y_u_Z^+HRqQ&SHcnh`Y%uaLjoCCv0dXomSf?cMnHF@T*}G z1mSEtAQZJ>m3Zx|swcoHEz1g)d+|@A;_*n?_ zaETOi*rJb3sw2fUQAf+|drAMM0e;~O0Tl4EVFh&2aNz%PX1}|%VV>nSZfX2&G8WX; zYI^UE!!_k=jxJh>Sn;-Bwi#v#sv8}%#Jm#J2e9Ziz%J89dz zzR9YWP;FrjMyQ?ucx#rpzMD&Cx2}SH<0MRYp%z{svjM~n${XSX4(D1`}Y0m`sX^G62TYxg`y8vxmDOq7VavIBMafw-qL~q!!PFo+0dFb9ZC>qI#j{f(~hLtj)v?PBirXXT({wlFV z_3l|oZ8jlJG61{D^`ele`=1*N*PnR%&x~8yTCo7A$(474v@1`(*^pFduly;7s)@E+ zLLF2cUXA^LBeu+{=bR{M&G5g)9BeA(Z&O-KzS{Ing9&wvnpj$J2jmNu5h>4j6ORj2 zxI`Vt#2ake7Sxrbuftge#g^o%r!sBZV&-Ph6gBe*a=L~7bTja%hebwaiLj{4?`RY? z_dNr>18r;R=@>!bg-;3$a=I_7X{~F89FAM?A{*&0TcUNlTC$fU=|g%bD{w_5V3pl< zCps&D6y9bm`TJs{C0%|pJRTss$3Xla**ym+xw7A+kZal(gNA!sfCNul`C173uB z?6TBov1+_g)O%ED-1K_$xRiq_afCxvV%5_V_sLzllfbpMphG90Z;Mce%;uwJC@;2# zgo|W*1z!va51C_Y0TT4q%p~KiWX2?OlO_oWJjln6EvyH;Dt;L1n-`}T>H`jA`oZ)g zC=KzyhX7p0mKZd)`XbpS7Uk2uQHs&^!1b8~eHXftvMbr^?`-fmfL|oQ6bKYkvqBh0 zA>qy{%nhT#;nuz|s9!t{b_{lO&nM(y`vzvcC^0E&-l*kt&y_PdU`rbXmJT( zwCG%3R5ef53Y!<09IIUoc5vWL{O!`XDA8Fnb<Y;$L0Bzutbw82L9evZ_{T?+Sz(m#Qv5InJw@a|K~ZW)Q0yDu>*?TNxyPs za?I+*W$UC|ij2Zcbfn1! zu<-OOGCf)Eh-2HsmiiHj{dBVV7Q??x6LV5+JU?vXaZ@81-?x+8dH&~(5T|KF@1bRy zkUM;=7!G82ECe)(EJgh>ja;|6r|YB&C1@s7Hdfr_0kwJ6>1Ux;{QwCf&}zjN;Gb$s zMPZ!jb!l{~#>*(!VLZh$0b6_t%3Srn2;{+^2opljFr#!cdKJA6(@F`&V+oyTW*UCQ z*jEA>VQoTc;qe7I?e><;0`?awlX8nx+=VDB2UUK1NmGymW>Zy$%!(3u$;r8nL14QYqAsl2Mzy3Q{4aeOD0F7kIzq;9c2r3`J<$De+26$H$++HMFV?Ts8|q zsmOHu_-!7ktA}%xqix-ggL_3GVg7{p<>Lq^-3chQ8HJL!f$NFYc0qr=6R?D6yPKTD zu?}9T#-jhbp@x=#J|-;k4Jm{;&b^u!6!(8sEQ6najs5-7ZHKH%9!E8*SIX_Kb#u)+ z=Os8MzhqOc%pv4DFS^on4zQBvweuTI-nd(F97rMIf#J?qLja30{zFmwu%lz#$JuPncTbHZum$x?_?~ciB6yK3U6H3$+*!;7HFAVJ0K?3PJ8ojGe_Cr_4k-mijU>^kO6H79N^C9wxpzw{koEw zer>KC5YG5kAP4R1a1-pky3QH?Z3Iyi7F)Zlo;^Lfp&5Q{7aXk3ZTEIEXmTw#IaS$z zhE`YD)mQw&x(KXLoV3#TpV)D<)dd>dvj$<%&vj|w>+`9nz!7=+VLzQK@P9a0z?k78 z(I59f3^1{4##yk6LZ_442*I^5&%%d!pMSO4FUYBlM)u^JJH>XFK7*tEK@DM4lF0i5 z=UX3Gf3Xw)iBZChgB`etw1$8UV5zDv;!9Hd|@i}Jdx7+{ufWkYGe?>dM;vX zuJp<8H`q6Odjzo!BZ3!0i?yp08Y^+ zDywnG$GxpZ7^uGl@jA2Oer{8hd%lZmL@2oBYXGvcUwu1Q@f?lu(2IBT?A3{_lvfir zt;={WAA$PGr*|NDMk?OMfv!32|4F-+9{SHlEVT6V4CQ21k(Os-7||>^i*AZ7bC~^coZBxh$lZ)`4FOegdX?au_+QO{WJNVI z_XAFQE`KfLwEXgZ&=i=3cKa7$J>q9?{n-YnM6hE*GI--H0Ydn5Y*P0NTf`K4mMhVG9fD_;rw#IAW)0zP^7SCRp@ zkw$3BZVP7X%J%-kAIbF)!5rKr;e*F&1lD1D-g}>aQPKd~TIMTWS_xXcZ&iCSUfK&@ zBJX;CME5(Y8eCjklEbrGB`Z-l)A%|q{dch;L z3EIf+De{i?p- zRYdQygs(v!xS$r>?Xo7Zt-*jP^*} za->c(z;+SJ!$LXEattitBqV+7f&8&|)DgW0gx{m~z*x64X{Xa_?Hn3%E#$!-X1r|d znD2jE&D#B8&e$a&=f-n@D>9)kERndayEGy+JNuY^cE8a@TR*w;j?E_8yZm_bm5dT* z_+A$+T*GRC8x+=cEz5n+bJ^|Sq}Xx!h44qk^~%)qjm#>-4v-d}gPUgGcV$RN`570R zF-3TJm-h6l46|NA2=CPYZ`Gjl1WKQo`hACoCnm)|q{ONwArz%q2r z0Q!tMKP9J(-XXon_W;PtgNR)Ud#-C%r@i$jT1IM!)p8|gVnc&Y+>CA>ewZ%}tYC#j zTGcnVWJbPtu$ICc(^Q>H!eg8;MR<3jwqyjnSKzD25pwUcI~f)c&@6xnA_$ei5!pM$7&=&8lP~>T_S=keH#Id$ zlemVo4lRLA|6 zw6a=`q_WyCba8rwj`~X1RL`-lKmJY5%P(t)sr2}O4q4|s5n|H<*fjdfy5NS0D|4oz ztO|tea1SjUg00&I2 zq2KaP;V=Z}SKgnWjZ_AY1sNv42>kl2o9BMp*u-DUBmA+MQ(EA7Ahv#ED%BPo$BJa- zr;r{*3Hx2QTYeyua+9MEAE#!)FD;ld^?=X5zP+4HP)vMZbhCc{*If&g15S{6k{lGN_Reh0)`J_-gKz+-?wA z-XB42t#>^-ckU`LOMej0@Tyq2#z1+ z=B~KnM@~8 zTl!>%NeI;Nm)`_I>}Jvk19L(`Pw#W?BBy!!hWBjT5HVq5O}m31_!(6h3)NlSLW=7$ zSwnSGOW?K|aIBy(q%|FJt*{1?;=K)35Roe9Foa0`mZS0q1t6&bAIpn0$r-uY&6w8J zY~&WIdU7YfoPzKrn_D_be-eYpdV5>MUhjx;yEp|!RXR0T$$b~Ay7MJ?UMw4n8bvTU zN~$js%|?A;pfSp#8PR&nt)7+33}P(cPIZv{=K?IkA_^D71WG41?-vSm;xha^*Eq}b z9#2W8Vh=O4Z&OxDy6woDV>;d|U1=>t!M`^<2hc@GvG;lhA!v+%8{-619<`(ibsi^7 z7+E}m;hB(r7}I6}QC-(}7*e}K*4gEF??!eAEbP<_y0++^1?~-w3+U_T>I(yPuvz2^% zEEvSa+~mMA_A@<#$)x^lnIl999ETiQ)$iAh2aI^KS_71RqKY%GR(@+A29*zEmuSG} zYUhmC-O>>Y08xu@@((1?s=T1?wb2yc)R3n8ZVWekmh4LwIr4lZiVkFpu?UD862_sN z04j2f8=8Hzmf9tX-nECZ%mVuA6p<1C`9E4AlIUGacuTzXI?`xV`Q5N)w?+u`Mnn@{ zy?!fJ9eJAxn4N-xpUM_sCCm9kwy>6yu+Dgnu%iEloX_r=%2evTI1#+y0ZH|^BWVKT z0j6|)0(ECIL4m}EiLzuMm*6Bl5?ZWD%}1_qEnDN}kyxBs#{GO6t3v|wIkM_fyk2>xMMhv!l5L(SiO!_Vb}1Z-4I*xmb6TRZug2k#FXy|M5PR&HY$`| zn+wf>D$3Qk_b$vEY#FpB^apb*!4n8dO=u~5D?zhyD4^TnfaZ8`ldi2(EgTB~rTdBd zmtf(onMFw&d z?=q>*&^nK)1L!Q8O!$X2p)|nq{X*4FUg99 za3ujYwzBHpT;;?61{*tP$I?&@;(){}X+w4G%-cec>UU($xFGklaucZ56q&F%xoJ%c zWc~8lP~lE{hGAKk5A!13&TyQu)5qn}_jJ1Q&x0Ju17kzys)DnM2M>Pr*qz7h<81Nd z*rv~Ss)*{mD+y7z(4mgdf$YO>N2V-Z0mDj4-tz$rT-Ny6G78ek0d=_$59xvwx+aw@ zY#vw{Z9S!zX6oKZnUwqXQfGn!Mw&OJNSVJVd&Fc+#+Nd8Zx8V8@|J!)zD=Sw7&VsC zFU*oDs zu)K}R4(W!aR>soaG$iu2JfgrBK<_R>{5)kNM`3>LmAbkScRz;ITQh@$jTDseIIq}Dtn81y$ z7H%g0TvE6~Au>*{kOmNBU8JV_%>`b}pomvII?*nipZi|gFm7`U!DKLNj?L9L@+k-O zkntf$>Qy;C9|g;q3(`GIOWbu5$i?kp$g9b{GD%J{i%Ezg!C1(3>kwEWIf@M$`JXdS z*%~7V{+}R+1>3r8s%9`AU2V>@o$_3lGT*u`s08p^cxwQ=uQ$kAT`Q6!C&ZP9)^J)~ zUclj1`iX>}uS*|noyKj6DnAKf7I?EqPWJs@XN@gP?y_u&D*^9#`X!@66wBM;o7eLI94FAOG-O(_FR;KxXJBMXg@#!WFA_q_)7 zU(^8zTA@|E+Wu9XI{sCN6sP{@Me!By?9D4}NnjUs557Tj0x~b%LrQDYm~oB}d5y7i zK0?KXjh9w*i6DnTB-#Ejh@U!PH@LKbtNm%YGAvq1NoN!98Wju#=ne#{qm(V_La^xm z(QgJ=yasQD9l&Yf88SAQ<2t9q^##yoPUVW!MF(a}Gzb`nID>0~>d@@QI8DT%5_~ zER0FlDvXIYlh(rzEGS8gn1xk=9;yf$GpdLR|AMmpIlKmk!ze2smv5eKt&dJuk4G;d z81_enKOhhF8%oumT%L;QBCKTo=|`pOz3gJxx4>4H9iZcG=0C5c29~i&VYm>3iH4~s zfp(tZ>Z&lo1Ua$nt5P|BD%}jZqqKMeIU8og)7*?2;j|^UL=E) zzL~ozDPJ4o#VNhaD00O+3N0xo?jm}*uPSv1F6CTqlCr+rU^e5ly(LMgj{Tl) zZ=nE$NvEwNypu1bCzyvot&m(wJ=2c8A4(Pw5tgaI_;-!5IBWrTD%`PM9Mq^3saoZvo`y^MwuoMT?~Qmw z6T_yIJo%a!(I9kH7!j>Tvj(Fv_m=F_yS2!FY^}GFdzoal%r9*-le>{A>W*YGn0k+q z6H{<0le>&pAq_+={x17O9Xn91uKRxDf~{jQ4MxPhSOQVf%0nAiEq)P==?@G*4Q9NF zjbZ%asgHkE&ZW3+Jl(PWJSBp}nQI7q+6AV11%H1aGV#AK^MD1?UWh*8(SSbkY*0_o zO2VzO_;Uz@H#MQQO=gv8%f5gXnY$uxgND^Qa|nkcegunvG{Mx5e2PEmzS`_e0|?t3 zNals=98!%(=A~wch1x-ZY7V>XPmeK4zdq=F%n;B^W{CHk?Kn3KC?LshEjHmlyV6Lu-4aF3;cGT*t^&Z2m=ZyPE?m9_~ewoTI_k2tnv*4@F4>e zVDMEPMVfVFY{zip`td@z(am6NFbD7+_`+Ub*^@a8zannbrFR&w!~jgyojH=f;vsZO zwf2cCowD11G66sVOt2`xZm|(-A=*eHml%t$%as+I#$|SWi_%Sbpx-kKgeT%WwPE_o zN6I;l3+>eKZjO|S(5AIa`hauSrWHo~13Zj)fa$qFA1?7ePRXv%GM*{Dx^`0xM-*8( zeuGRI_E9xGTzFA4K&|OmgEa~a>;EI}Er9A;`fXo=6Ck(~+}+*X-Q9w_y9Rf+;O_43 z?hptT+})kG$lm+h^L^)>_uj2ruU^d}m7ZChHCF>Yd;WWj@iUL-BJudS+t}!&2I~AKPF6s0vmIwKb!Ms7?2Whj2B?VRLpV*euFKlC+xkwE0qd;aCiSj@xUf%`_1>pG@=n_)`xm3f`@z9SVKOuW z;zrXSN}Z%}tJkjE{e_&OBOhqM)aAUh%JJ|I+CyCJFCBOA_f{uKq{hNt2_=!z2!tZZ zC}#`j%u+w0FfR2##-Jgwg8l(`(Q=IOeB;;Q?^<$%vewm!D(&C=aAj0p{vCBC{wyOw z)9gDejY`$tNAFL?*e_zgq^8~jK+z4X_iP=`hd52g<#P=$l$W!yUH>8Ni4Essby+&} zfurds%TCt(x`ZAIcL_Efb!op#rH)i=5XARVB@8sTow)xSX#pvaB5#l%`#oj+#|>Eo z(w0N``Xk@XkJQSM%>F>KQHKHFc=n3J_=(?duDwZ_LOr2uzy1n%y)~j2iz#e^i5a}< zr1oO63~Jt;fG6m~Mx6^-f4e0s8-qxy+(Z`x8OyX@j0}mIDD@Loz58KmbvH%-e)i_o zfm2O!AIW2r$=;c3&^fpF^sraD`tJ1pR`ssaA$t$q`o46;)8KM`uRrws5VCfzxN@~n zQTy5TI-nmcJIdNIRYq&~B>7jA#`qW8&J}_rf|)?5Bhh8l zdAK~VVq6u*4`)qpW41RsHB5zfziP`ok45>?7aLgpi~vtAWsnk!{K^4D8iaFfHKw`w z22W|ZSBnLIoTGsbF%sbwAQv{3RBiy}i87JQtp>56QnfTT+n?}u=j|pEvc@CkUocOi zk?;*&B8_-CL5qXqjYZ{w_%(#Wj0^!y+VX9Ot~C1Ta0<*~3wX+TBm{Lzu%3cLhDTVv z%qKm}Mrz~>rBt&itfTU;A@F^2clK8eI^O^;z2QG#o9Su%0l8)LBi*hrUMtTE5L`2o z^i7mH6d8j*)Ta`>Aj}#}s9s4lEpe1YX6umM zDql$At9YHzq1ahvV3yG9a4EoOS0AS%sqo(z?Vuiqy&BDK6o+bSw#CoNw4IVsMl(mx z5Sy>wlFff@&^DK%SXeoZVrg0j9`Xjp81Q>AsXG4vjp(dEcMHN)F z_6>{CPpC?@5ZYs0=*!)kJ^6D~`^Z?IGi`%@m_Y$gtZW1P&iV@R4+NK5$hqs5c^o$r zRew_tB=d_RRev<1euibwXASyI*35H;h*weF7U)1EV&KpFPkfujkbb@NzaHmC1G)7< z;Oj@o04OeGlIBm4(A%Vzuv9k?w;=B;WS&tf_Txp?rH^R<&p$U!#E`M+|3pk@5flVy z5I>+@|2;9CkMMtknC@I15?^OO-7!)x>uz|f^j`;bPvow*?_Y(`f$DNG(0>W39|0=! z0QDF-k8oprTYHsusAt7$$T9TgNPUbxs!}es!S3fTW9aVuJW2F?e_b@-)SERA88ZxW zbp-z^eG+}KSvNz_&Nmpj%tuIsgra6cGFfI=xy+H#xsx3#e~AW~pM0bgJi=>+?X98) zlhLzW9J3a9z`nILVImYU?nvZzk`y_)L{4HKvRcH9|HYcg4^Chka`%jzBqY4wbM%W3 zi~P)ZVLU|oI+$zOyrF?ea^g=ql*U?n1Nm?AtpCA$75VwYd^OwppUqd49U?Kd_f-Rx zWPr?_`t0aU)>l%lzqC65p8K4dHQc-RD=J3Zw9qoL3rg+iq1tR+DYm}Ka?)^%7G-*D z$y|wuqA&xC_PTO1wbOz`OLXeojj5E#)@{%T3jY`wi9kTvRm_uNbBe#&dJy>!q9Bru z694cICf3$}c{cbTm{{NjA55(H-3IQs8$DSZYzrjJ;rH9PUQDklhP(N^OgK039>r&Di-pC;j9p+-aXR+%6mi!yE0W)TjdyP>m4UP!_xgVN?FH$ zC@D9@eI$bi>#Q~egh#_rq)-q5@taq)&bJX-8i+c{K^frWp&16oH1dtY#COYFrj-7* zxHxxRg~{iS1LaP1APn`y6pFD#Jo&*!Ju+=D4Y`ZSrQW9hPm{Y42D=F8=8yP@?>|^8svp`S1 z5Nlje8yfHG{>6n=dg;Hz^`XDcGfgZS`FmqNpOGxOJ@Tkl zzk2_h5>y`*d8hZ!yd%Z~kXik0q`CMFPNN>+Bkg-?&^XYxoMY!tiMloRG$i23-r+Xi z7N}*oljV_&P9IPM{~Np*FrQml#C?oC>K12abD9wxEcB%nodE1RGW2DhkQ%9GwZDqg zL*#xNjN$u?>Y2c%P^fQj3y&Ndg+R8gl=EA?y}s-c5U3Ty=S_C9KqzaV-rff&O^`oM z>UWmUS$T=r*CpxZog_#%iqX*9H5khwkPiYMfIsmc*|Z5%A$dye49Fj-t%>Omqrz;t z5=#R`zo&r0)x|5qbttFEcv0ae`m9@wX-HJ75WZ?Q09SBH0W`e*93DUdwERetu#t4a zQ$vo6(nIJW@E3kughVa+O0~69j_qi}a2mg^#;pv-q8w>M_bspNB&SIFL_L10p(VEC z;{VlnLjL%HV$=JEOx4Q}b~bauR)YS2~;oEC?8t zA-qe(HyCrw>Ii%{43Gp99s$r@04HozQ5w*wy<*~I56@Pp2xp!S4U?6>N3S}IO}Wlv zijKO$3<1ivEYJO~@FO8obfa!)20aLXto;z5c(Mj3EB|_UxPx7LBi|se7pDE!rFd5j z85T`5fYQ~rF;cS^Nd*v^`vQ)bd#=Mj_aErGY&^8T=JBh;hyU>Q_~ZfezU~&+|0U!! zMiE|6lb@HUlHWReYghu1NiSnjZ(`qT858dv${I`^CJ?;XW;_AbiA9@Zr~;V+7n!~=&?iPW9zoZyjU8XA=q$#(laeX*@Tn}tY{k;ua22}gOPjnMyuEV z#mk}!(~S=Dd9;|3W-IAhksQ`_?bUADQ$rLK;x;=hkmnmB&jY zGy0KFM%r&zOwfX!If}Y#!GZhd$?TsjBjNUf2B!wfN1Oz z{^2f)@z!VvJeigHfy~N^@viA5gxthGw8Y-b1=kS*t_A9_=nl`C6WZ@4{-EtqitFP= zBV8g-hsJZVo0d}L?_(Vm$Di_5wZtWbL zn;2rP=Gy)DxKrlT~Id#7FG`puuiL40>xz0UiQuf{eg3=|Znr zlL%>LKWXJ{EU8}y6dng=NFG0T9IUK&)Y$%VaJx;#Xa3(9%pc%ljhW;n{r;YsVa9sf zw(ebxzl>JU&&pd1w=~SGg02y=&kdNr3FJHfvhRrezA(td(^L^0`xEAN-+C#@i3l6D za*ZT!cg3jAzfDBOzh3Uk7x_0lWe(TcDHu9w2(_;Gt+bPDY2$-Rgv5g@MVoH9x<{WH z=B$NQLxt82P}1QA;G}IStA4Sj{PP=8Zw|B%W6H2Bv^&5!2LS2KOEKrx$Vj^3>E)Zk z^r$_L(4!l2@8ZKn)IDtknY}|O>i2mbFWJp9A-Byhf7T1vElANk|eNnQ^!RJ_ZWh(?l5zv za;6fWR!>*Qi7^Q2CCm=dB^WFc;O_0?3tz9KRA|bv-$LHgh1O{6^ z2(XmbSOk&D|M96Di=jSd8xxAI)Oxxbuxut?vOc*&%wp^#Kk(nsrn z^fkPty~mnDzSJKhh2YHgYY=YtlX-y&H4T7H;>T{~FQwe^i-6@GAi2B%NX1)!cX9Qm zd#6L>z~R85fM;m5%3)vaalw)V$!ru4cwn>&4*}4$`b^o?Dw_sBo1p4lp!@7-PKt&U zz(jsam&V0pRw|vEqmvb#%9OrZPPLkXRL)8rRD-q~grp5GLT8upzoT*osCS{Y=t$Nt z+@;&jTz|&7ETTJi9OXo5S5YX(>j@9yUQ(&hloXy`AvkwTen1hQ*pQ_puK?<602Ps0 zF;crKBk79ImjJlCa*;;9PRle@yDE-FgcY)}MB$`JVJ~C0Htg4y{#78*wUP1N3Q)Oo zhd_jtSv_rz=8As@opX2or=KF3 zRe>zQEXv!Km6p^o0W_lTB(&0EkYLMv0+3KSri@~ck>0r}*EHfg@iDRjJW!WI(nGkz zr1)7(tlYkyvs`-!PuPz{0z76qv)?@xvSB}77RD0bIeYL(^h55qwVn>AZiGmDFo|>n zIph5CHGRBse0pLamV^Io;Q-xT?y7ArbT8!pzPrQ^>8J(v)@hRKTMZDH#ZiQWdCRi^b7iAp{BTkH0=6`_K6d&Y`qcfP+gc-mN-{*{Q*V$E=Vl zj>B!Q^u}t5Sx`+8VjFlH(G+rUKo~SavWXl$`OM*ZaNt4B*?;7)K8D{J=qG`g5YA6v z6r26{kVe_Jhb$Y(qiM*OB#fx>#2zOa z1R(N7O5)S$q73YbnX5%Hp@!&|90T^ddYp{c=lk*L0vA8c$SJE_(|WLyD1*g({|8NZ z3R?=BDktNdKb;-Z@Bc8D%#%!Z9V(?cI#Io-@o=LECvs7Tm5$^VSAgo{@1N<0Ys*vN z;I94J%u;94!BU?VRjGO#Bm0kp<)wrb07I$ka(J2z2{wUvOSnRkO=!48te8~8K9Ffy z%;H-Flx)oxvnR?m)M0?vkHC&zcog%ql@MKDsBF0D{DMT@Eu_~+K;I~YgslzZ50_ma zk>9nJSlwU#jy4Flx!K&A$nd_n`(Gdql`gIp$?3}3s)c_d4+PDhW@Ri<;u`r_@VB9X zz8T;}D&gIdC_MdGRGL~CCf?2xf9>UhNPoS=Im8lXX`ed**vzibmp%0Fvh46!^j%Q=mQ3LM z-|>z><+&tjSN4ZE<`wjtUfU^d5u{E9S4_1S5&)S~PDUTkUF4hT(e6(xKH_N-Ysug3 z6|KKP>?jU=&0Ea}#1Wi`lR#-Jx0G}ui@FDKJDS!0WoO)%!%DHYgQ5VX*ty{gG!<{Q zLh*lc1P2oEYFz+2noEPYHS@u0QppN32nHNBE^r^vRL@%ZllC{-aLdW}BCjCfPt}LY3vJHRZWnIeUk{ZG1M73v(*Aq6zny&7&m4Ih z*JUuhtTk9Cf_8H0h$&!IiCEG{KtnK6d^kVME+vKZ71;`<>jfuvaZLH;QKx@AFKag_ zp=r|P&qb-$NoQUaENP9-;j@5}H~Wh0d8OHT@c!-7H0pJpa?AVi+pF$--cjrsn&W${ zV6#V2CBgPOHvN0J7q0N-)ri5=v(>k@cgBJ&VZlwm&Kg$g1@P7GqJfv8)IVo_a*+(D$ zlQ)fG?VY)A<>Cn;EG1?QrJn*ua zTZ%Mt$cAjSD@kJFwW7qmyz3* z;BSzTZaDK=iuPD&eKyqA9IB;={&MTudRxotDYvG9e14@;SyVadJpJne<6vq##}`b`bVS4}?EETBkmwuv+gFSbW~YLNtH|}y{;`uH#T6_|NSs!8 zm}t=?v5AV=ERt*1oT68z38}kO!|L`sqnt>M^X~gv0eu)cuosIpVPCAp>c5+rhm})j z4apIe66~^h&4)xJC34qfl@YNNq9=Kh&P#7w&TkOa>q$ErjETqP`8GeNpS);@f_v*O zbFplILZHs@>xscAuY7`e?3+2OV?9unJQ zCJ+B*RmFPy%O3szqnOA3~R^2iEB={fiE z3+-q`DpjGKgAnDv)(&cs>W9PobO~FE0-4fy#VNDzY(`lUn(@8ZQLpAscIao36&9{gGC(jkE zFcJE#ybz!3dCp@HQe~7_Z%XGma>$urTdcbw`g0JD&pVDQZ8Pp0C@s;mOpz8&=?&=( zweIvq^+eILoAwL!x?|Wd7Gq2`8^hdu^6Jb1^5XmbV+Ku)mXLN5@8!ff(F@)GLXqJ^ z^w>LfAqMZw@X_mt^aXSrsP5++#CSiYYBAachTF5Cp@jes=erKi-mV7;*#TXy4F=*C z@jN{i!>RSeAi52i`)w+MCb>60x+wp^aj4jQniOFiiZ-#Y62>$H;Jx{9!`q~89+4Wf zHP0bM?nt`GD8hA+7ep7pxRMWcW>c@jl8$&&7r8u7n3OW2n`|QPJ6JbgHiZrVNvyhE z6^pyp&#-QLM*0kKM7)VGE-30)GRfB5e&y2F$)n}cntd-y+Gg!)iRr<$WZvAR>AN6^ zZ0lc&498--%~%3Jqe{oTk=RaY1zjo}&Nn#L;=Nz*2p4GR;mRp|{z5xncW43l0KJd? z*I@gUtN1^v9QTj=)L*+Fubd(Gp(oLPRP`~|U*Fawa&hXKYCX$pUs=8r$C+IG-stM_ zNw0qo+QE2XeXzOs&2alWhU>Wg(|*}47MreZXW^kIz8m;o|AkaWRWzExnaq93*?X%l z^6z(1dE%J^Z~puJ`lYqC9*{iTD(W92W_8MMzXVDp4oP!HzosG zVaEmg5-BxAZZ0lkmMb#WCYNcPVNlIKfy3ouSCVR0I9`(%{ARTXN`Uck@k>Tdw}5J& z2z&t=Y|A->4%5|YlI*$5o%ne(>!Z`%DGcHz5i=lz2n(KB15%I7(t?L-_!sfMZj!? zZ;$c(L#YnX+{$U3@!%!kNPi*#Xm}&#mOm3g7I4D}n9)o>a49>oTar!i&L?R2Vo&}O zn}Jf%7zN-7vxay~WsHde&SJt&VJIuVk!#N&{w>tj`w(h_s2a8WBVMPO`8<9fZw-5gqKJG> zG>Y79I%~X(*WOz{$_KBu0BKxom24H$bHy!C8VM*-zgzhcZ>!k_RY7C^}goqy3Hr)TLXpzgmbY9HoK>9Tc{Sa59F_T6m$ zuKKO#+3~gaL13GI`)lS~#JMm)eYoo<%j^0)S2Q(78?M~qMpmYqS-+^KCXKL+ZJW{! zsi*`0^H47%3Y3~?6QJwI|9Qy9!_#c}vAL~N1$J8dd%?o{E>^wbGkb_t#q*O@2aStn zbKu(-hiW=o=uOlk*U|$9-KLAhyhaV4ZtCxvt^^3yIfWk0fr?JhyeeZ^ALQ^zt&Pjb z+xp#Y^AATW7YhL*dq_g+CK&Y-JxJ1u(K=8@4Bua$+spJ1$iY0lKdLW#Hi4mD0?& z&ISgm9D#~*X#(?ae`zYCG%)m`P*!_ks9;tFngcliTJ!Nm>V8Cu=0GdNO;q#NU`;mV zrs|sSN6X!pk$=`*hL^8C$n{HI&RyBh(UZw`~uJp-fw4mxMbn1@+y({DAo^WI)e@rynW_mR=qe7L2yoPDT`y`qvL$4AF zQ`RxgB;)1bXIAPmrI%7FIU=g1px6$GqbwV!$2Q@0%CM?qz8hyuWn9j$-XeOepVl{C z4=f6LsY7B;F8x*JG|XG^z=WClyd~~5hBnmb-XvqKMxHuThw7}5ln@0UuA=bS|5H*9 z<3gb?L%Jf!J+5zrt8l(uL`weD9M^ia(~T(&Kg|G3DuV%wMyf2mRIwNX#UMF~nT&9z zlK509UFvZ4BL5QQs=%n?=jORAtbY+ErK|YKL5N5aEs;rV{JKxl8o1e*c@P%enu}== zC^A!1s~|RwFWZK2duyrIlsVhsm!UmF zs&gCNdPd@xCDY=?E?8WFe6(*mrL9|Fjc%9WqC?$_kkmW4VtCzQBFi)DsEuv`J>E5k zk1j>xY668-s-D4W-8<2k)jRUg{|m@i2eXk*W|&^)RPmE_!$Bk=K>(yDhin2c7m%*n zUNRyTor6>y{-qY_aBHn3K;-wKnsKQIR<~&cR>zh4nGxmF;I%%%YGPS)ZQ~k!N+oQD zTi|t0Np_l7pY@?T;G{Z>s?a z4jM=0Mz~IU!glBfZ1>jyPE=EXLaFELbr(Qm$%@!)_y%#dG`>b}DcV!J@WdF>U33jP zrb6w+nN-ZV>|5@_8BpG)`$1UxP%x&<VP;LC)3WT9M4pG7L}XaEQ>1J)_#!^?=8u zJF%qDX2z!PMuN7ezcYqN2CtSM$9hCQty1;JECTn#8=!m1(*}uqh>@{w0z$LLRhFy? zB6C8D#jN9s!Cp$n`?Jld_)C`^%P>TMVH(77;yY?PA5Etf#tD|adDy^Z8c7%pzSJ1_ zE`n1)uTAR3tv)B^pDKlxBneXZd8nGX1ZhM(pkM4c3-#dY18Y_%_Db8d%YxF!R?cDGewm|5}eC7S@!ria^NjW0yu`P4N_iaZ2>|WjqAjYhI z9lQcOg_+@p1*YI~z|FhUB5#09H-gVPWQH2?RBfdLX>ZM)j@LE3AeR6wNv-Z*CLLS(xnz(*T z?mGABvVX~&$N|4-bhx#JZn=L2Eg|cV(ZKt&$O8otUw)-@4`UK<= zn#HxAi+F}o0*URUHV-rd9;h%FIPK)}PD52H!S7@jj4Dqq9z&C8xwh67ZAwv*Yfq;q z3jKs0d)xMW9;}psA|9Ud1oedY!QEY^=`x)Hhugg8_Igj9*^~A_-28=Tgld#*0A`dmgjt!--_psXhJewQ>Kaa zlVm)fAgGDQv{4NRK93Xev`x_sAND|I4Wpb*k4|dg8}5B_5f$bI9HX;S%Us&IXntF= z7T2}ZUIYud8FMe*FJXj{=NKR7+&zY8&0RpueQ&V70kLxZwHdXu9*pd15&e(!Y4~~c zYKVkiKQNo$fsFbo2_g;qiM%rRE`uuaL>=^Di>bY9z~>Ew0dp#h$Al(G*fXW5fH%W4 z8N!qV216ey+&4itEkpkqL@1UpMAy3xVpV!J!VJzUKdSPdi1i~2b|KYj8vJD8KP^!u zIjfLdI?gDnaThgD-d`R=%5_c%jcx&wcIKdRolajNm8ucAkM`U%OUo`x%z_2)2S-%K z==O^5?SP)C)_t-uW&zOS#ReY`T`4|@imKjmh6a$x>&)x61aTU>T5V80S(~thufOI> zG?=)eavO0s{5MndtIK$Q>C@tp!T#?HoUQ?k0tC7E%BgWi< zh5yVcyHN=3R>>d|0L?F){eTN-_sY?Y1&wZah6i|soBtW z2-vFUDItE9TZ30PwpH z|D!SgS}TJTciZiZtk0oRKk;2d1H9#z>+_0qK0Pu5%7`>#gD-DlD!NkS z-zsY{-yD_^!&=p!thlfmVd_FFQxHSlBR`Eq#_?5PE|&Se<*Z;x)jkijD53sC#`;&4 z@0l(=d=wRSNu8IkJhJk*9I`S9z_wGs9@^|M$lTT1myz{sxyg_QN9z8u%KfuEU9qt? zM&El+TaxW>pm^*)j3XqQm{jbcnuP*v!_jkzD4l(RmN_;cpcncMA7O<^vNHjrWU);j z>*v1yxvtUw^>A(KwD@*Npi!d+(cfAz3r>Nd+$Hov9uOFZ%YZQF`V*`3 z?e_6n@`zSBL@9?9SeP(N12L zHWonW;cU5?e7eqadPn=(?nTwqMU4}-b+NeT_CEIeo>#Z!lMRAF$u?G%gt^v=qA*+J z`-P0~EAekmmxg4VS1(YYzJfSqx$^6?Kjeb8uwgOaraUWGWA6FoHLsJ=Tt+NRR#dyu z0{eAP2vU8yV*Jd{*EJ0GYYId8?+!KY)UP|vUcMduvN$&KQ1@X%E`-tA_{|GLrdMRc5Au=r=JD3~b{)&2^>DIS3yu2Ck zpVsNcd&UUq>8}p&dpGT`XKh1Qp_SC!?-#H9*{C;pnvQq;N$)>0sV_uD#aqcwaspUK?nt=sX)M zzVTqY&_>);?}TIl%HNsT(08j}!>G`luvOb@ltk^#12mWP!1LD20~ks+B8^f@7@XUu zLe60s&et~~=k%Slo{ro)v$8B1E$S|6hVL>UE##Am7G@D0@)c?`6pe)gd_T!>V9Wb) zj@uNyuI6y5N^$3fuCf1EGOJr`?q&)tw?0Cu{^pBiX zJC(zed8ms*m)mFax5J|&3NAPU^>yWrV)AmxPr~7E?oki^;5bY(OOOfvl~8!aKJ!z? z22f)&FtSaPGoWe}U&Q=sd{?B=F)F-NknUFV#cB}6jJRE8z&{jO-IAbAVW-9U@+FMY z!DEE&{Sgob!ibhShzyC?5JWi#B^(oi7c0)=FGL6q7EHw01&K&_@f~(4h4Xpe0kpG ze0j2MCJ&&sRu07Wbt+!ZPBady?4)k!;z`F?2yVw+IhdHYg=Em!*W%atWEL0L?OQY4 z()b2tjzOe}i=ex0TcEoStYhnfVkbd&AQEh^MeO)zR|);b4ri^>V!N&0;#|tmjv^3} zCY72lKB}|Dj8V+zTu}TO2*&0d#-*334)hc!=;`}Nb0*b>)rQ(v`he173O17gfqq9s z6UKami54R`;7Wi0bEW0Uv1lgn-p*~KJTUwZHt7+4VsV|kdQx`JV*0AB z?AT0wx;4vmW?=DJv~pTfHSGO&-7!Puqwe_0A7lp$3mXsLg$f-RTfyhcba0)!F9;|E zs)prRtW&{biMpBhNz=S3 zue4`}op7xnb=^50if=kIrv>ga8DPJ^?xgRpT{@e;S4@SYR&ovI*qJL21P=PJIfi8! zM(SXiSU4>^l`_ys_XxF`Y(31nm~OpkBQer|3ti-qjyN$aZXO&=P_g;TGwp=)ZN`JA)*el|yNe#j2g>4*P z)L{SEtz8@{qaQix+u&qsp4i0PFXBtEmgctP`8sFqExCOOrYVz{-EfoQ*?7g=7aenF z+O(Cr;ggyxcM|oEZZR-5ZXR6OLZizEG1|!QQKISYN}H0x$1c2Y(q=YMh}n#6LpD{N zO7ogE4ea=N4g^*R#M0)@GO(1VlYor+idq1z_W10!TB7QSd(Fi&^!eWBRn`?r@qz>g zsriK`aLl?fC(O(HMdF#IY$;OqNadi$ERYEC#x-d?>y4K=;aKgfX$MUBE_+2rtjeuN zyuuWn(8aOdc|I(zbmH@N$*)Kq-m2TIqu#i_qPJtg7p|pg4eZs%qu2#Y%R8NKr@V`a z@ld!93Ot3AU)gV8cp_II(=qb+mR27UNi4mkAk%Safj#ZinM`f6*-=Idt-~7#Pt%1A zN!=mU?_h<&2P>cLXEUQ4!8b2gt0x24y~`Z*qkb3WtGpghP?W7E(wn8S~vSL_QeqqY>ZH11(l z&7{{~+b|w3)Bm}rxQUY%4RT^pWl|{gJF-+5>$)g8vTHs>U%JDf*FuoTwql^)FM-M; z-&=+md`2z0^E|in##ytY^L$46=7BN{hs+(c`NSA249BWPcm_lm4w+knHv7OYS9B50 zJ!c|)(5F)VhHoZd;#7~|lW;VmaP(P~9N^pAfgXhoXL|*F zgp+H#N*?)};fezUUzu=AFZuR3^7vTnB8Nr&LY@@4mWS^Z3@+4Ej`eni+@+$K@ z<&Fa74qurdl|Q{bh$)h;;UHY#Z5&c>90KVC-3}&4g(1%Q!!L%g>3$C%B?h7~e|2{N*{VWX5 z``xq8!o>O41D#;-;09)@W@QaCQv;%)1(`35u_>&n5_t3}d!=jnTAo+uPR$w!($b3? zodmCDL7!C&$`36E1;%E!&KhiL????pW(~1AA{dGs#yd2v&xW4&63r&2Zw1y{wPFGA z>r4!y+`w5Ku%_(NJ8Iec7OQ#$<`vB4HV^(tHLp%qRJRy`R*z2#JSUkvZD)m<1XT}FVA_nX4&BUI211CTW+_UN+l#SHrSfir6(h--fWJi{pl^{8T ztV%uad%pX}3m#l$IGQPCz!V@2n z6Y(f`v4fZOK}=DnORTXeM-{!dhb-+>U8?*SXu_k#nWp~EfeMOsP-+#he-m4vqIQc8wMUp_J= z+{A?zXoLx;aFmLdbIgNFGv@IETa%aao%iSLo0(f!z(vu);cUUQDmW%9hF9%Rv*avP zav9mla9F7IL70`+S|f9gSe{Fm;uMJw0N8Dt{MTy`kch&b^?Rs46{5yp%L*#%tk*fhoT~o7`H)} zKDpZJd`M_eyz&Rqmwjjs2+!O0DmI?qTRulO7;83#JU5m`VJuzzt&M+0bUeLcXHqeI8KuZLjhiYZh>{+a?p)_@B|+k!F04WP^nz3XYbeSZ() zhjNR8fy+?Tyv5}#Z5#}`Gi#7H%;T6~xyX3eGo=#RnUd5^ZPkayQxxO5Oeww}o(~?D z%T(yjcw3F(T_B3Y;PGS7AL2{Br&baGR96rY^S>m*FZLOCtfS!rJg|V`vZvI*^xPnE z-m)5W05R8N*sA)WP@e-toR(p?-Kt9WJYJjei*#DmOcy@5Ho-45v$!$5??cMR#uG@>^(9)nh(IJRBounRG@kvtL7NKX$bxgCZlHVpQ zuj)6@^8IF1t!GE}Pf1yi>kcEq%vDM$O&|E=)APmH=@}`6hbl-iRnop3g09B6@mJ8* zIMaQ%V$^2h>8a_dNfY#@e)ChlDEl5TA?w=%kECT$bZo z=YSNahr%k{NM_bF=^rBio zlEF(PHHk`MzQeV7`sYlUg1@2{KV`G;gQ3|St%Or4F!I9$m9!>!_7gJ`r*7l!RfmiH z7m$MEL3=Kc{Y0 z$HSi;y)}r$VE6gb^3jRmqX8a)4`;isAs}=E`v1h~{u(;mWtrvko93tRW%R)D)#mN# zoH>RPsAZez-jg@XKsxY$+DIa?MXr-*VEljFMtTS6YV5BkFf>oJBzn^utxo<=cak>HuSw0zvnXkpOVMc%d^*Ohc|*WKtpamZ zyQt2kO*=IY;@qxkr*1ZEkL~_?&1*Ykd={n8`8lcLXV#w#617J2 zl9d{vwHa`ujui}}wO4|_o#k`ijkv473a3P&STW`#CGlI|&C=VeuQ$b{!?O6Ume=)o zUPi1^*$@p+JZ14~aqJjtN3UAU?;GO>wWHz%!S@}6yVFZ83ktMA6$$qmHTF6qnZXDP z3ERgDQE$k8BLP=7gi=^2)SRG0)GL<0N;yfqoe&L3GC-ZVyY8X4tz}L{a0o#GX=jmB zKX3+*Kk>GsNdy~qH&6b%j(TPaR=aKqR?Cx8{;Ue~oe)~|$P!l%Sr~;80BhrupSL%Y zAvpVjra^;)EBkKq>Zbhsi;#N#7}Q7OJesI4d~wh?=H-j5uLUMb+6H0;4GL z1NaQDi2amNME}0m@lU45=k32DxZiy1tPSE2Xce$WC3Dt7fs`{2C}x-Wdsz`wu`XQIO~l zz7kfmn+n`t+`744PiVNpR1tyZekopB$m{@~=`zDqQE7RYLZ%)TF*vdYqfb#&7dt(J zf7U?YTcF>TEe_J{;0Vj-G5NoY^o5u`Y51s6?Z^XmSfQXq7g~T{FmZlZ%G_8m*km|# zyMXZ8v7w@;wh?p{P+-i&n zk=ua@7RI^j5q8No^2`$l*v?Kgs#PRJVV+rmG}BgIpq$+@`o`PuG`2R% zBUU8Qe9G2?=)d1a7(gSQ&kg?*-F`X>qPsqlJH!nuR*@)H;fDFc)m&QPq{4@^d@-(u zTIxXOjXe3`23ySXA)=O%SSeFn*R#@z@;h?s%Kn?Nn%-i)gH*7Y_fV>dM7p^|n$;{V z8ygQxybP==L7L$Ff?3J8!yp9wAss*Czau^RDdu zDR7Dwnt6N8nE$@N6)ilN%7p8h<{DIrE}V{7eoh4kPRR#~5H1mwM;|Yk5^@yj-Gmf@ z%w5hZHov_sj&ha?AJ(=)JjNNzk)9iqVB9(Vlz$Ozv|%&H!_zl_9O4_t#}WS2NdoZ8 zlipKX`$c1yAx8x_m5&~M21cf5v&s%Zu>1yGqJm5>*I&#VLv>G>O!e`1Tc=D}%RmC~ zFm#5vx+z>~#`dIfQS0M^-mxp_Pq8ZTUT(s^O(YuBbsD2ouDJuX`?5@fKq&Fh*i5@Ml^^ow&p=zdIG48C#1u zDh^|F`dL%S)5~{%rvK@ph987tfI1)DA^_9Iy7aZL6f@qJfG9(T-SF3q#aU?Qz|MlTX?{+-Jz+v5G3UZ&gEQa~jH}UdY2rsX1sDQm zB&*yKj35x;WD}5^0^5nk*`E!5^P}*gsL5q@P|z*eNGYnqJBtseBi*LUK$P~m&te+P zhG6cpndFf#8@X9U6UAl_4eENpw@CQ~eIXB;9h7^2x_vh}|Lso59#_x*(CHJXT}u;G zoa%=5pyG?U1b!pnMYy11;nx8TIx?K8WfWIVq)zerOe-rj$bPbefr=0f$8@CdO)aG@ zo!i+F?lLd2$f;K}ZDMc9eF6$P$;X$526d>|P-g*jNWDg!gT|rC5ZD`t*B6%>$u|pU z{Sz-WHVB|?Ed}K5?%L#JXXoFa^!;84sBq6( zR2M1SNYHn(O~1i+vf=4FxVynF8g-NHL%Ww?3zlrHY-V-nV}*5T3A8{r+?hsUNOpDw zBhah-?uNy6Ixnk|JpHyFK8v#LO+C>3c;=LGPI&j?hTCp4#miq!=}GUuHmPgouPug= zFGcdL{I=L9SiX+?R+c>Jy=iR>XUqToYybVdDUZMD18{EPBcvPkPJ<_!gRy+J3FOqI zg?N=@R6*jfLBWRgCv_?@`h2zfEir`%Ez4)Y;Q@&yA(|w5qG$c9DMhFhC*=uSdNlNa<6PcTHwrg>LihSirMVx)F0-|M?^5xS}UlS=TRXU%uS4mdSmV z0p}Irdw~n=dfswfoqPGaGrstNrHP4HPg%~PXC0MRHt7jRb#l4te&(&Wo#M%8A>JmPQv&SS z=>wY55a)Nu=MrC+=d30#8Nw=M!rAL)@jMQtQ_1U#Xobf})KssPJ~bliF1mcxUaz7N zRu%R%Re6rFNct=&dd1=4^wmo06fP%HytnZ8)#y5RNp8Cluapi|>{~n(>S?Cb&enyo z=f2ZL;z5DItBQrJfX_Y(SuX(yGKMFy-1l3}Y)HBO-2py?Y{=lAk!-PhQOMRTDll!` zu$Rk2=Q--#_Nv9qC{cpb<$S+-3qXu+TjP67n|Cis)K%UU3CvZ~0Sk$etb@sBT)P1k zSXIe)OD|$0b87MqEgIW|-bJz2Ylb$NRi@moDife1z2GQW|1eZW?2<{HS-6c2#cXti$gy0@LxI=JvY24l2 zWxA8|oT=w~r>17+$NZR@+Er~-7rR&QzSmm!WsnEs^<=u8WPwh->$Eu~Woz(in8=In z_gv=ZbfTli;Q1o*! zb+oe8sFu0?0u4<~gol~^P9ILykkcW@!1w$dy=8!Ie&e7= zNdOp4!F3(R1dP6>OwXall@#KfTg$h8fQEW<4z!~mq81ZnP~i+97<+_YJVV8df=d)( zmn7$7amg34$pCkvZqEKRG%cnZBEvyGQ3TVgn+j&0#hQ?Z47>Oqo*dM6Xbc6WYl3Vr z1>m>gMvW`CSvHY4np-QW%5nKVZ(yU+6ER9iJ^u?QM7gH^(Wi@%YyG+sRzpI1VJ@j> z^PPh)x^bKy1>SsRUJgDuRy)@Cjyo(O)Rga473{C2q%7l0to>fWEPSExL}W+??r~vR zR3b?RnAToGCqy4Sf<6pBWYoU}Oo;ww7RCtrU?W4qdayy5GsuJiE6e{*7z2wOR@ROd zDh*u@t?!>9vk(83G6kkr%ql#Hxu^Ddkd=^Ac^Uzl-#N0kN&w0;$7THDm!D z?JU_N`^9d97jexV3QE*lo%hlNQidjW?as+D`Q%roh}<1Ral+ zT@}ykQ@?&2L85h7zqs_xB;*WIu?+E~DQz_>t9PTaV17ceNhJb#`5bNUrBu*_dw3Ow z;Y;r&mW z=P71K91^{N;f2fpF7U)OhJ2wYSQ{c@M9VR5h+o4dnD6P@311hMRKzC^u^{we>m@p$ zC7)lc(dXn50jsIW+8;edluPVpzDM}p8Yo*etPto99KWp%4^Q*?k~Jeu%4}S>$X31i zcD(MrJ-jUmxJz{S6zV%ZI=^jKzJ2a^Uc0tjVI_UByvzHCI633ChC>fjf9cpXg_$)NcW|HZSoYRP9)(zl$$N{*jj`e^KBriqmF?>V z5?>$GuPhZxCVfObjY-9#2S0UcH8ftWHeSeXf~SuQKLf&f zYVvD86fah@h1kxs=y;1XhQR5Fgd}yzN(5|ZbhuD|%1&=1g5&ACIskOvMN&7vX=lgHsSo(18;MP+6(b$fWmlbLs4` z8@K|x<#Sn^X~@X|YEyX>!ON~YPME*`U$`eh@T*I%&))-VE zA1BPsmFIZKE>*`r{vxz^Lz(e7G3|y4D%POCih?YjULAYDJ!fcpBJ++v5>b1OLHjD) zmdP6~{4s|b&pA#N1)4)aIl*QME+`Lh4`ot&;Pwab4 zbO$Je&L+hiySW3I>Y(#Y(ytA9A$iOubO@=!yeFlNIO^WP#|Y>%Qrb5lKn1|PfXG8z zlTerpV=Q3%Jeyq3jDMls#{|r%2od)p#>)x!4HthF`p}v{zn_iusr}q5#pqbTV~+vM zEEW!ItRHOsCocGUWBPOPPL~=d7!)gB@C9r(QzxXLd1Tfvw)5X8Qsh7-E65ruQki3x zSC(N)9`5~?J?`Q+IH1c26HzCH+yo8_?Itx=rQhLu!ApBw{0UOGF4KapKh98^-!`7e zcQHC}nX`Vt^mwhh0-d3*4InxU8)`sIhnsw5G(}P3*x^Q&3PiX_=bT_a~g*q8V zAb>}}_T)ta(0Qxt1btL^d{ncW;@P&7td@D^TTYY#wklCA^LeJodlB?OiT9A%BIiM) zQaMrnFUwx}Gt3Ht?*s39&5abU{D84b?;(GGibeJ%U-Rj6brMN>eAL7?=-ePUd+2zUDz_VzD=?E=z# zoR9X=H>@&uaf(kHAXlisKdw+_-Uf>7I(GC37%rWoRlCAkF<-Dj$F^eoM>SME;F^gz!myB5)!32z1etk6Wum9qVx7qcgE& z!o<9J!nc<##&;ZsYu)8`6@kKIN5Nf+>ld=q6jd+QW;o|E8iY`U$dShPWJ)h*Oqb}r^PRiS=YmFvK{=0a>WV3eaBGw8WHXf z4+hvzZx`41i6$}fF)_UzcW=QV)jpK?XLLlne7sx3M*1$E9S_cLhigEI@M+95|8Vr% z*@eYh${RlegL3*6KKV$0V)E1F{He9_e!}Js475k7=bG$66%28v7z%eeUU5oPt@SSx zz`1ms0RM_jkL&>(n*qZ9!-4)=gwGViG;yzurIu|L7AIN>Bjn4oD_%}W+H1$vs5B{a zimbdZ3da^g5Cj;MAzcay6`0O#`f`{`>}5Q8zmC&BiBc{<<`?n33p?KJ5%K67mk-l{jQ&1 zzKczMZ24sA>b&c-!qc23l_zrvczeD#8q{atPifn^lkj=*dTQw4!=!z@-+wy4p}CjxA}+pW9aU2!mZ)LT0GvZpF$4fp0K!vu8Hs%FHV9L zSigF_2`u;=Pg;C`Hi(h)a^9SMsAMEt;rSMS5WitE8|eZ>ZdiU!DOB8;AOv zC=~*9S8q3O&m9uvuMPE|v#^g}4=&y?hL+YI)vKE3k42UCcr1w&C@E(W>Tsn*u3Lsz z7QPz@qzz9Crq6H0H!v!6;jOh2zhjXCOc;UN z`n-%+$YR-A&&kGE_TbJOmW>{9Go!PY49I1ZtA~Auk2AE ze`qG=F$tnkp?NTyOA075LL;^{l43WjDM`yWmn|Er5FgHecD1f2rwZuZ-z;3Is9n0m zmbK+r4iyb4@vKeINy|WguD5;isB_Wy_+FWFn{?(OV=e{2A+)6S-LO}SD5-M6Vu8C2 z_ncEt0!_~olnky&DrP|Nxpg=TAh``QDiqc$I~69uRerP+VS*t6*ZGX zvbJkH3;M9naMG9B4pY0_ zF>al+j_wY6C(q7BPm4rMj=m)JwF9d8xwM|inFk|^h<=&r$n;a2O(ivL<1UZzbjIH{Zc}V+kIo(n-C7xueceN{Xa{n% zAp5aC1rD$8F=|jkft>XMKkUaaD1#;@qVHc7`kZQ|R2XB77ha}ahHr>$f2+H{umA*a6&D|}P1#TbK z+A6NRgHi;}0^3d=s9>!|GR0bdhcrY@o&4@qGdl64dTN}9$I(^|Bk9h*<~2<;_#J1w zjiJK_)=}JC$;+K}1z7PQ-Ym~_Qhv`Q}Oj6b@MRmmmpd_!>#)(?twsWmls z-)1xt=-g2tly#CBWh2xz3~GoP(Tw>u*6qfqW5LaEyQhUB2xA`_MPl#l*TJ2HFC_6# zri%{RFxj?v;r{-BoJf~v$eq<)rh$!?p4YDv#~OBP)BwoY9{_19rI($|E0f6|hyI6h z_DRhWi3%Q3s8|wo))7-0IOVPO1xpfrxLpn>@M)!jO((^WL_#Dm1l4^I`3_Lr`I#s1 zv9y^}K(0-2hqnwYY2#SH)pFA|=aHW8%lY`Q{C<6?hKJZ!-vI9RtI2z7X_hx9ep6-R zg)9`wE!Ipy5Zz|-9Vsx}MeYsaPsU51z6kKebQ>kft?M%B{GWIrK8`RP#S|yu43LPE z!864f2z<{)^kTlp3FLzfz+F6A$E(rf?1@8t6EF6!H2LfUI&7 zFB7FuCo)^H)BAJLxeZB`N9Clid{IazxH7ac`eVh=nY5BHDLeig=adCIn8?($(lD11zc;gZ(0n|n%5p$2^Pj2$kW9}h9-b7n%1!63n2McQXRGZdm*SdS95!7O7?JM7 z3WK8*&pc?C%@?cuXDCVj9ZFa5%6?C)&uqsT19Uu%A(}33+{02$p^x#a1OnG_0=(&O zfLm)3t`%>Zmy77jN0Akz!&2D`qn9?fxB9z_HG$WXt21;NwH;Y{xh~xC%;Iw;-l7ML zyRGGC3dm0l>q$yqAYw30LRZ;0p;Z73nI4Pw;)J%6GSHd}_$uCf-Rlnm%deLw)-QZ( zm@#*~8;s-o&TN`>)Yed3wM|GqmO_IJ!rgUDz)Kve^{#nzq~zlyk@=KT^X>{ zQ3CT}UZ%I+06K%0XAEmSmMh_FcQQ;_0%g|2@-Z^L3nwQNN2{L2T$8K%VMVIGp{Qpr!8e=p$> z3zxd8c#ypdqhUjp^214I{&&hR}+^XF8A=K%$ zRriS172xS@@Rr=y%N#y#o{xzWGGprX0->%wF)BcZk-t|X0(_^uOliT5S+;C5Bk;&W zhja=7WHjG z77XO%cwVl#$=h}F1u>y4swgEG*De6XJ@I6EOF8)j zSzxWBiXQes9*PuJcsVfE%;Q<*VGCObHUJfh)Y=1$0oFowb%^F+slVQp4E7s#&~=#Y z44YB7vkBWY3~AuzY6EcuitwWXt2ye_&}Cg(%@8GC!qK)?87AK8b!bb#Z{MV3G&-AzK<8=6nsL}dpTd#~<{r$$ZaqRQxK@v@q( zDUY#PLvgkJtzpQczOgN_32PL0ZMciv-X%`!2h$24_N-zf!4rRYl9{9zh&u@)Z8EE?G^)*7RCoA74 zoLC&|B3O>so!PvfFY{H_wwE%}7%Hhebr}%T@3c|fNRU;V{~kl%_^jJ8$@W7>J@ClV zhNmo{vY3#y*7Va7Gt#>cYS4ZU8HKciB6~l?s*K zdgohXF(>)VBAjmA07cC8^Vw*5D8&Hks$`^GD8=Sn>bf7DLlU30(6>b{RCgG5ro}|; zw#~K&09Wc6Wt_%Ej{`R!A-5X5m(+J9HomeKt|zk6wk>Ch$}|{yQxE8UI-lUbDFZ9 zJ7>Ylk9AEykzz)FKL{BJp7RU@0E=j)w$YqQs@rdGhgc7Y+A> zv2i8IdH7wkYy7ExCeQ64p(rdlq!r=Xct)zNI$-SD2iA);@AvVIdgVhMUoBhth%HB} z1*H4kP^D0gCwqixf~MlX0oT5u)I#hqGGU9RCqD%bRxnYZ`w1}NFeR2G@e~)fpedkF zU%8jI^1W09KZ7>fz!BGbY?*W6j}66>=lq514<&00abO~68RKf%lmm2s)|YMg;}J;< znKo;;BhR5mms;`mdRxHgPU}jgc-Qz98wNa|k5gB&A9icbB*)457*WOY_sTPuF{iIk zKZR*p=cCpb0IDB8w?K6j)eCJ6C6h{BBE*#$`aAJXT?m1K49HhCXSlE<(0z`2{#>H=`@N{WLy}bCKTfHoD6@TXhB&)8dd&mR zdeGjt56BDRA2|>PCrB%=9Z^E4`Zn!(Y1Y0|*Sy$V<@lr)6lhxp&w{?=!X^q~CJaaL zpTR)~4bG{kd#Uymy30vh0v(SV5pZT@7?!f1?{}#4t>&xrDR|lXbjHW$K)hxm;G=Q? zg0a2rEU(u`$tDj1N=55LejamYr<&n#AaXR+3f#+B=&!o3t0GemfBVi0QE>W^8Q2G7 z!lAqO=u7?|VD$!RvFHJ!7;owU)tNDYtf9h+I6+6!_oo~jy>SuQjNfM&HHcQXTl=w? zYe4IbxB^5`8REjjD}vXn{)C5Dm^y*m7RkCbwN=%p7FXdk!p3=<$QI!Q>$U!UiKy1D<$PD0uJ&e0zUE)EMu=NFvo~^wx&0J*3 z-Ki(5p3evN!DKDKg1Kc;!x=A< zJqzc+^*#I8aL1lURTl>`8U6&I}H-SBt!mEm@8& zzuy}`IvR8mbLbG`x81UjOhKO zp!xC4Nyfl8(W(a#aFgOWmLg_Zl0sC=yX;}_a}!E$v8vqgS~yTGKpd+rXan8^y^a0D z_uDdr147gtNrT@q1S#mo0bzh%M(}5>Hf|?3Ny7xshj?vN-4sbWNi~^QZnw=a$4p0x zxz`Vds}w`g)9-&@_CfqwPak{&%f-m&?<9azLMgVTf+`N3iJ`jTv%bk-OFPaTqE?r`A6ICgu zX6`(`3C`+ASHoYNBgrCC!SHfoF-gpBB9qFW8)R1lR{0tT z#_Zy#G{)@neF&*YZSpK@Bky`t?>)kfzHgRT0rG-`kMYBzK4yGE&KGT``urMU%d-Z8Bm?C59J{Gx`>x<9^9sVsN*yU_oKPV*bQhb+e5WPS;Bwabu^p5JhHDq zU!eYKoMqMVWfbr!Amgq3gmGI>+vUU=ky#(RHIoR0^Pzt%W0@OQgQI=vC zM3IEni>9n;p`NA*#YBs0NmdVqOsXVJb=r|!+cR0sApu%EW?yXu903U6zaU1l%q z^%8A}pmc&JB_DAV3-|mTk)oYcGh7-7cRsW3060DB9d@=Z&FiB~vCu#5sn~_1^Hz=2 z9la102ibPahpp+8Lam*>3>yJ9HemLvxp<}9D02yhPx~1@@y4gt$QP&-5ogv(<~o%% zxNU24$2sz{E2dQh^&im@FHLHorgoPI~T&pz9#XP9uvc$dx?F&Eh^>wJnvnW#rD+KVQ=l*>9NMr*5ca2v-Q z@=K?sYnMjB#`Dlm0(Ag9w5$rOn7|*oxF0%9=J~`(7`D?HJAH4AvLOrsbt%jCMbv1k zfqw9LdNM`Uo>M%ERc;Foq^?1;Mg?hYt{K5VcjkX3HwPbplAG~n(SLGX6M?y|(?Y;p z*R>|{s88Sf;(T%g8gKo*8jhOHcO!bnq=j^fB{>kHx+pRZe_4~3yBmxd&3B>x+5P(; zBBJ{p)}jX;?yD5-ZOiI+o_70sSyL16t5+=KrebR-)Fs%Wf+#n=5j&7}e} zE7|RTSqOKwp2R>vtCIVTq0?A(b!L+y^5QrZp0U^Qhk(7n*r+@UlOuxON9Ygdl8P?- z*5rDE&L^A2MTBNE7a=_=u}S4Zvw%;Cng45{iqun2P>q-pj}=K1sbhK_5%W)8t9ICom~z_!=GzB)s@|tIZsEGf zCxCd7v@<=x!)n@C)?M_??K6g3eFkIX7m5`=ZL72E`UYE?8(JFZBaIH5>gNuDoAwOu ziu03Jj!QR-?cn_G(bxbftN^anh*>$-04@`zP{wgGC!70`)tVjP0T7{L4>-#v|Ruj)LR(dktOMZEi*(u`a-%DFd^w95+s>^Q6h>ODT!R<^| z=CGPr55V|fckvqyfr4`#uA@65r_S_t)sI1{mB_zuTIbS3{M%OoWSN7&EAbr^BxLCd zzZMQo>e~UwQbM&=sHz&w`1a!S_U!{E^;-^JzGS0ghDf#hLq2=5ASNeAPD!+8u8C3q z$hUdCx6Aq>)|2AxF0;V0d1lX?_@6&Z3&fJ70{pxyQ~bUFgBz6Ms-${53`4*N!v|v& zD_B0J?-9TOnnF6pu$0dDBm!nc4wvAB4oPpeKDVt$z*EW}{l)+AXPs7Oe-%Ybi2nXu z2#lk3Pkp|`I8Nl%WbVF|8Whn{qZd-UV?}X>Lbl^h#Fd(v=NZ>YpJWd1i0VUIp)u7=E$(_;gi$}@LVrGK#!33^D@kHyO7{` z9DDDi$D}A>-<_?CMnihy^Ish3Xq!yspN+$cI=}*MrOvZLng-VRp<|r z?v}XTZ!IZ6FoLaxus}i&Ht6(HN2re%0R7ZvUY&o=Wi?=C$%T?|^lpS88{dQwfs`<9 z42D2a3>HucQ*z{AMpW(LvGzd=l==9$PX9OaG30ONBS7j;=40iPI?z$g6n(yntQ6n{ zq1jeJ{I%L6oUtk4_h}r@Y7BTQ_J&&NDkqHtR&Yb*HzohdUkt!(+II*e=?TVCya2f7 z3NK10!e(UM(252H{|fbDK|p2U5numjn36~0s$R?YlIL>Cxu7uGJ$Z#i2@8QlL1e~1 zsgHMpz|=?Uo`660JUYeazqLg}+Ct_VPy^=~wT?qY^04r=^BKj-1@|ghqv(H*NdeMns)HDJEB20@GzL7tI(rKxGcL#*B-HS9R0}a%);6Mgy zb0U8X)Q(=UmYG*&)}x(K8jU`=_S+FaTbJ(GgFYDCq8eWnA^jmeYxdD-iV$GQ7Z&(| zL;yL!q(@yGua)DGjA3Ssk{m>bniL%Jl-UQ`ZBtJ;5{@M)rV3EfV;V5&ab=5!fzYAG zTI7`N(6L5Agb4a4>5ScZs0SNs25FA@&;cmvv6}v01GNwL$_w90yS@vR9(tAHL_)Es zn7NMt*;HwaNLtaFGEZk9XC4n0m=RL$cW$f-n&$0@ADUi59gFD%0p*oJf6i{=2AgK$ zh6Zc@an`A=#VA{#+Wa%fL5+^52T{|7B-R9&wLHwQOdw#E`fuYEL<(!oYf0W~mX9rG z?~S>+BO69W&^?ZRd%aK}7Hvg$RsB{cna8XD+kGMXi@LsLJa0!`wn4CQPoMSD*q9TS zsmsI94|N5RuF*anC7|7Fg%2qna59`)q_4oqfAZ*?`XAfJ&aQTbKD_hM|!{$M#8+Tf`N)yR*{Z4{U6l?_`b zuDK1L!b&(>Cfv=6(_Z8ne1HTn_m>Vmx5c-Pl$0V*$b=WmxyRMN{4c=XILr?a`CxTc zZ|MgA$^)6fEa@$|ql1gV9H2URrlr(G+RVs{h5gODJODSV=iFGFs{FwY{;mlQQB#kq zljU-4P!3|yI!>N1rDgZ4z;TZSOeEs5_hA<}Ia%it90ek_Q!N z^EsMXu(!w8dnJ$hKyq390+l7md{!*t1@7PaZ0rVp4u|OlQ2;Z=v&Fb=6hpo? zy$%(g$R%H{MglLb^MEYByApf(*Y9$;e3al4$2$UdBHp`KmJZxP<^o{|6U{u2+Wf$L4#b?HKunv*Ax};qr!4z%O9H`h+zHuz$Ucdh%Q+oL=hD0lfPII|vk)qU6?!{l@~NU_LEKhrvtCexfSe=_l<;jJDuYQyX>QX?*}SMwhmb;bf^ap>W=)P@wsj`69A zn9Ps3Vrb+!h~gT#AB$Ujtx3WrMJmAMv|j z%WnB`dag2}+8Cyby1g{=G6ctoun_TD{3N*A;cPUdDDxfg(XYe~qnj1P_>&&?Va#Z( zxp2H?@t(ortgN|%8hXNh0>a-^s)-TDkvx#vlB*EguvrLID?<}7X|Gf36Eq_awdR3Z zm(wyukrF>-<~hfGRFTl{Fn2~SVH?-)o_c?kj9D>^l;Epue04u3DftvnuzB70he(WF zY41Uvy#1Ra)Hc)48T-y(-nLdx2--FC$*}Qi%t~%b!jEUIpL*H7@v0iook7)j^->Aa zy6}S^(VarJTyaLyug~wjioS^S${jx&VPhtb|uRn)7@eaX&dU&AmZB3Z#U$?FK;)3kc%iL>SF5SAGrH zDx0SuOlblzg9EiGzhjc&e#@hr`DI~8gPwDI02APAU21OR6f%?+b|a=WT_8Olu7*sd zqcsWRxjOfQgGppTFihu#Lj#3Q(y2@qN3==CI%;^Q#h=PUph{7Ut4{(Zq6;--I<<@JqS!qT z@U%GdLvU&?Zmhz`{#Q`Fo??1ZxuA?r&Q zG7S@S2!n+ftO!MwWbyS(5>!I1apvzvUecn*C7VX5^Ivxo0BJsM?r`{T-_CY+4%)La zD%9;bo0_;TC$F%!@7gN89^A4C==<&QB3u08b*$NFj&dqKK;1#uf$N2B@QikauhMne zP&)CDHhdwEJk{VJX_$V>5Ic#dI)1(9I`UgD76?p{Hwu<>hOVOM5|?aof9DO9c<6lA zHQbG^Bk~0IouE*5wN2|1@Gz}x-nhAxXc}391mql;X~tm8y2P`Yz|JqozyB)* zDfbnsSq#;wX*`1A=s(^4J*?=?MQxkYN@<9 zwGRO4K5a(>($_LUJl}-SBgJS(Z!Zoms_yTeIxNpl_3vnmM%LI@-85O)f?t+UXkU*k zLQ%GEZGAnd)l?SJ-?)9Ad5f|bSajc7-S0w&-?q*-E_q(^o*pvVTUQ^SN%NGLzyCwp zcY>WHwQwf$+>^RJmAO?Em@I#tG<(SlMOl&ttjE>w9k}qj=`7BL3OL=Q5(%ijHm+Fi z|3&2mh;fyq{tK3GaqZ%^=iw_&Xqc|y_UGYSI=5+fIC^|HP82R(CuaQRcAfi1m7DPLY#V$f3{0Ka%mrh__F(wd}t*$`uWCW?wq z4|{;N_S3Qt^JwU6A&T(3-ZonSY~rBn9PS$ z+nplv5Hg&q3nVdq_9+f*MV`IT#raUE#1i*2-`1a(J9mWaSApfe&Ikqv61v`#CWxoU z#SA#Nr_rj)P#E!FHh1Thd^!^iIPngXnH!YU)3BRAGPNLZFUcjoP~a>9-pD>Kjp8u> z;3%`4=ExY~Il0-<(2sbNS>@7^RJuu6Q#@T#8hueP+ki}~oiu23mSm9sqq4lR z0v?~wRj8d}hS(r1x!~GmOqVhJAPMT#sDcmZ9Y);8vZ(rACa!_-go#I-T4}5%;(Z+4 zbv4zir-_z$gu%C#oD<%$ckihD11M+lzW(Ou$Lt=fT}Zl({?yFpcqbW%@zt#dpHJCP z&|2in_mG6=9f_i$3yS=#*8cSJw2B4s1D8hYV&{ygdKZtUv1wGQKxHh-zEnn@udLXg z2y0yeBF>XeA~>#vv)qvs4g`9(tHN0Ab|p;gO z=)rOlL8Bm(G_H;znY8ftDEi}&36tz-*a;CJiUQ07@|K957r=n}HiG4(C3=aB{*X0$ z)mz_JU0gR0t%$hk9-a z>w{$!%eTi}#Sfc{jfA%gAuf+c_MEe+6c%-|Um78(`O z#MH6pbwyVJybRsm@x0@iGbVOHbct*Vkc*JqPdT6n{BaR!*%!+%sSi*g@s4fhlGc~+ zh-~EyJg<2uIX8gqk{=WW;_|QpPi6t<34h*Z(Ip>-*Hgx>6qefP7#t6qmC)d8z3?M; zeC*AG>&kJ5L1{uGY=)a6F{K@+My&8vtAPs{1OJ(!VY+(C4;LLJI|LNU(`*F{<&i}N z`eOod)j;3~X_O8pwx5bxPtP@g3^KD!U?MV2LPM*|Ff(-YK0LDrz0{zZ3HQsV&A9(8 z%6jV1%zHCNdWv96F!q0#On;seBzr4RzaXiQ78w1yfT#NNSFT9I2}%AR zblkOFcfzjh>zAwt?Q*t-110YjWy1k!*PYWNyo>+INDa+LFZeWfVO*Hinh8&qu=MTIJEQ50=$Tn9&v#eq^naSK>ct03 zr*CTy-xm8Hq-gtJH_bzpJoYI>vI&Ad7si@;6R1hxSZ{yKi($BxRS&<@#dm$A&0M^B zNiOoF6u-Za-fCiqFL%U{8#f6tiH=r2(h2@fmvvF;)G4VB`%s4|yxRhB_5mB*+v~;& zkQWf5bB8{gr%K*Fi7_v>CsfKsvfe`jkUF;#07#Kq2rh&Vd-DzKj9p1T;|O4+8B3QR zS=H7}FS%xhWSikXwD^NA?5?;KIhOs9@Ae!}`6yEWHY`cveA}_9e(vg}%TXn9PA#r# zheI@B!D(YdaBx|^y7_(+KKq|IPpiGC?ICxL3`X2%&DPvL3uEXAktc>@*CnOgem(Kd zeDo(~{dJU@{HX#bQff`~ubWix-=YT9h0^TPT=D@fL57l9ZqSyQyrQpqW`t zDWH&NUlvFJ{-nnU-uXDpw>O;2)(8X^@7hzV$ncG12-m=WzW$;d_2dq$0X4Q%Esfc~3 zVtJlhQIMqyg|kMzL`2amj4awDzDx%<4Ew&2$Yua9C+ zsH~H8;*qEjrVClcT;SN}pEz(w0mmL+YCQS9xitQtHesjxsg6Usb7hCm{oW3h(~<~X z92L=ThbIgLw9o!A1M#E$((j60v&ccc|C1olAYSCRw~$TknA8PTd79A_J$3F;q{r?$)PJXt>{ue=Y(V``&z%IWRl9dTxszpr0NnO<${HY4ObuR`7;@ z*3_Uc${7Cw1P?}8d2jVtZ}YAfUTQ^i8dbF!;)CRa9Ed*9tFzb^G8J0YO-32Lb~ z{XkV+^$6FMDb*y4%9Y;GmK$P?SoE@UcKcCw)_X^GY>h5B-$1MU39D7Y0d251 zdr)loGO)&u6M<^!KkSw88auf;q3Hi$L4P>vlN-5nr4J3xU5TCrx z0~bV9sdWtb%UMy;|3hUFsT2eKVvnR(FuMh}vA5p`{r$632SF3G(jK;*9+4TfeMmLV zB%D&#muL`Er2zv3EA=NlX1)*Nv1B0jnX^4E*f|65E-p)5jEi13df`G1MY z;>nG%Fo&fLpmmmEQga z^K1DPN<~y@oxIw(W;|Z#aAi*tSj4<}NG195eRzw{D#D!HHR%nGR~Lq=196f}LM3X- zFadLVR&TX7j7=M79PEd@o9cuWkSSi;@xu!T%2g1rkFU|XV~cIR;V&*nm_wqUczwI3r#qpjO8re%Kae7N@uCl{&k zM1xUV%J9Zs&`ouz9jRRd=2`C{^~)mM%8_W9h;%mdk=_MHwODy&6owc#EK0Q)T7aE# zgd|}nVi047+~v;MVun2WW7bMXN@KQ3;UeMgy;WBF-r*U8uV+OEFUY$j`tlT2d=8$0 zgQK4Y{zb)iyv0kUqSLyvs)}?3rE|Vyr%(<5-a(j=!Hvr>1*(}h&eDz9Nv)ovbn5EK z1MBisS>y&EAW-uoMZU9?<*RB?W@84Q+wl?y*2c*(pwVdMoaGin2YL3@t$#*I7jk?_ ze78(O!z_?-VbnU=+lHIix`&WGSCro3XyQven0gy2r61(vN%v?(MwvIqJ7U)J$01x`Iq`XbIMmM09_ z{hIAfTVf1h*ovBUURQ=D=sV5&)!%FP)(7f;x0=M=1XoXKn|4-k7U_K$AWv2DMG_Dd z>Yr-La^&*Kl>e^+x66rZ$c?H^7NB!Wt|{wlyP!ghvG= z$87bCa0(rh-nIh9rH*f+nlP2|8kJCG!LiZ5OYzyGZ+>!@rj&)Guiex!Q*RLNNebjH z+M+95FCU>-XCB&|bv)qe6P`c|f*?{VzG~2@QZD{;GB72d1i?zCrBF-qlrv5t^kVMj z`Vvi>|ABvd6E#+=g&i+GSSVJOL%%^lE9F z{g0k;CgXohi*OixS1UJepA*;_hQ63hHRtOQboSWN@6!Ot4VI`{PavmD z^uJJOFFbmS?!3KxGf2!`qtEA3hY^(`T!O#2g_^q+D~<6Qbh+z!DNS48)(dI{BoD{&z*cUryuE96y|0 z7lE9(Ro$mEBjb7JXN^|hs`Jw8r(3@JwrL0Txf<6O!|IhuXn*gpDimbq#*~eli1r<| z$=)_cr(>N@Xd+%mt*kTCm6-z<>9!*(&_-g3tC2>qk&#>L!$nD$=W*P|1Zh11#+tGA zWhkp;hvfYmzp5Ca8lRnucw`-7nxD{ely!G2J`sGMz?91o+A2yRPCxQRIZ6R|2tpB9({k@`>O|IGj`Q3ioL4Vs`WhcnQP8k zG`(U5WtezHxFnM-Bf8ubj%gsj)b~=~+tTI(>nxvRH;`~hFI=rgAyuH9KTj9}NLzO% zeuRyC_C5OecDRK00S!VUY9%A;(6{m~s&B?XizE!99|Wq?c#VdiY1GC;qfGmxqg-4R z*+m)@?kl4?uF^TV!`?ofV0I0PG`%hGLk^Ao#YVILZN*f~S)djf;>}-5$cmTt#sjz< zUB4s?;RGY2((o}n&HjGp*{u8%kreQ-;g17M*xcP4D>zBdQeI`Bf(w}Wtutlx@>y6i zVUeM7{bx~sJ86^t7YpCko|!K6l^xe;&4uIts+X2 zrAO66Qp#EzETVOE`BePq1{d$OB~l+MWM)*52{L~2?`0JCO~-dk>S$v=XOjj(em|D| zp~j>>&AoX7PU5e;sDbYYD6SsJ1g02b%)J9-x(v$Rl)AL#8BkX+tr(C8rD*(tn8+jMrfnjPF$g5mWC5j{p+W(t$$*jSbKZ zyhV2CbXj+tXp07h=RUzK%+J47Gn+mp^Me48(CqiqoAAx1g#ssE2DCcD6KMP)vUT)C zPJ4=k$0{&7mt>}{bn-&J^b1|&g;?)qSa9OrRZr8KdU+!mD>-uLc+4xIdK6>Pu>zE~ zg2np|k{gZ?j?FJbXiJ98^MxolBOzqJG9*7`u={5_$R)(kU#g`NI|Xo*$qF_oV@1f> zwbTiBZ4doQ&}jU$Dp7o|h|7Q$qqLoFM(7=w@b;qmWKvbah$cRgo}$m-e=F#umH)kh9%GHp z5r_E6&}pNQCBi~YxB^o@ykrk|ylw>?Z95(~0+WXTPd}&tLKwU2@3DAZO#`>tssn;Kc5p~R@h>6!n zJgUttjp0sLKrT@wA@8#=B&loc=4uVMbT^yqja?Kt*(@5r=0_!_TieD z-%kMf$bMKdIUwv_vcTxEkW-S;eoalEV?(IMFhhK~*Z--peDb^eHnIED$&X;JPyjMP zgfX}MbuYTLcZFM4>N-1OBXW9Y5Iui}j=}8>D$HD|_Zf`#RN^Q_{-esr)V>c1Ri{{X z=&suTJG_)JCcWfI9#|tSMPaIMjm`0Cq>m7mi4DIYvb^06BLi6$=FcQ$_LP9&oI2rFAWS=do0+|en-(TR4d#Sz8=`wElt zJD)RW6~td^%`dsxKnmR2oXt*am_sGQ4zg3_X`SYV%CSqUj{F@zhqYq*5bjEq-Qd}V zXJN@p0hn;q9-Esnr*2Y&8j6wxJ3teHRDu)5c8wZ8A4*e9q`D$N5JT;$iMS3Y+fgE?H~Yk zqwA|u?X*|kqlU57O@zMtQI^NIbJ(AEI;18HV3tigA9=u{A9*ChIK5f4(Z9#J{0BJ) z;dr5P24{D;pMG5 zgx(_lc8^?7&FCR6duMYj(uERw=A`_jw|?=5Ae}B3>w2 zC;Vh9m5$gB0z3U#ewd#^A3Wzxkr`mWNELx4%_)d1@@9a>M7;+nJ9~kM!7WFAFlqt; zBC>inoW*D45m+E8{fDt7*g7)5`f;fK@N|UPDblgUkPBl0gdCI~dO>6v3FUy|GeGkh zP^J!f5W*W0#8#USNmnco4ao4x9g>u*qStA~sbx z1?*$|7aZ+$AOXb>`VDvwVkF!a*jS({1%uKXG zAziQ?4rgXMO!ebYPqavT@tlubg&B&4Dnyde(@)*1W+o~^k`c8}_E&iJ1t2_|w>WKy zJvMDgG^cRy!6{WIoNLaLKKQLVc%lyVXcC952<8aMkS`R0$tld;PQWA-OU|}d7p~%D z{GhM0TnN271ro7@&}xfooKg-0sXw~2(CVi41dn&(r|8Odhph}DJeT8t zb!WY!`m#fL7(Dsb+yi(ve|xmt+8v_SPVVs6^2GKpfy8)k2t04&;7TOS_Sus{fMT&}`K4J>>+FG|O9! zg!#b_e_&}AVf*}RX%@eL{6ipcKM=%=ei8qEcf$;B!ACM8%+iy{|4^O%h9kDtFypsS zS#zI`m6|wkqn0b0L^pj!luWdW`$N7vjG&6Q3YCA>ihX#&Qck`071YVTj#C`(ww#=E zGUD^BeYz(e>J{iC@T*xm(Cgh5!lU^%7GT@n5aepEzr89l5|y->H0YtuAO#Pko0cbT zv|cf!#jzV8&h*f0@_se_sQah<>Toe<3E*R>;6%SWl@B1 zxrK;q9I515>A*Z3lvSy$-^wFU#J%w&*igpi%Cw?uav9_2~N#z)y1JQeuIY)eX1fM_L` zz|0pammsc|tCKX;(nK$*AEHw^CSUoFKvV5?Ad`sJqHq;Utx|2HS@RkqR>3 zYn3wVh;w$#5&84j{`S3iE55l*gR`x;Pz_l^J$=Ws+2RIY`W~RH^(Pa+b88>?R4e6=UPoZc95!d<~cDl({R?$=frFG<@KG?%eUvmuAI}_-6DyGR%Ss3=dGuXP>ol@QM*_H)~aAoYxIm>jsnqqHk3hKneZL2hqg(MmwPXt4OG70MeS({&G06?sOBA9 zaWldkhl8A=n@=

    |?Uvs`$QZc&6ERPS1}f%QGIA1s!9zvP|*SqAK+&NkSCe=pno zB6cZ%LHez+fcnI`p#<%pcHxR?x(?BJtvMJh%rEylG!9|I!*5K&4b8+GI$+KKW`jGp z@cFEm!#KeMhm})TA*%TQMcy#nBn%))Xc9qZ`i#+dJ`{NzeyI5x9BbF0>mt|v6Tk1y z4F}eUj^CPBbfB?kpoN#gwVr|`HGjB#zN6&vL zMK)B2-qTM`m8j;6nG7N;O>d!V_o(dlNd(Cp`f=T2-0+owpljvDUS1`Wxv)uF?h$ zXhl+<)6zrC>I(Tgfk(p4q6gLlmDl^ws4H-q9c~}y^$OfxO@&0kT(ALDCq1L>YT_Xu z%GkrVb#C%{P%3BU<9kUR#}@2Ky7^Zu2H|{*WvZFf5IBTCga%42_jxgnYNIsg5LbNYk1Q4b+b2(~0>I_bG>I$(MDTjEI+X{cE*E-5RS z3VJ1_CgYSL)}b4VFl@<&2yH9i6RWNbHWLZY1;%bvxdb-~w7&0pATS|0plCoa045D0 zc)wH@dPcoQ5=PmHxQ`(k*Q;}EKGRVI8k|HP+o`2Dc~1I!g=(^RWuX|QL^$AKk5@^9 zB2m*=6PhePc^OdE@!7Ci%LJ;}s1SxaMn}s0v*O2%Av}*IGz^0V!zKU~3W-1l!#-&L zjg&#D8#_(P)jju17bydZQ`{_IdLSA)h@7v3gcaKaB!6^R5TLCOmJe+ctf$mR)yMhw zk`c-w|6=CaRtoxaoe(&O4Ny2Kygn3JD?0c`KtK*X(z6&R@7G}RtHzG$-3if-X*D>| zj)&Mi`cw>!s=gFi+C>qss|2$GrX$5Bg`!V8SYmDUyakdJCb(kU*J)ny2!149Xnu29 zfQb!g%WkN}Z`TnTWC9{Y>$X2q9CgoZy(yzKOj9BtNm{mH?J>U6AJXRw&UI>hJPpvX zf2i<9y8{SJKE>(lXdBob@mo>Srx=MM-u^-7qG_EneY}0Qq+Oc5l>HOBGF-%egoA0x z{T=%NvcWyAKTZQ_3GJ!@V!69ouAXEp(>7FmXS?ULJff3;1TD$9SW|S9d;^f68UFgW z1g(>|d9I~mw&irc^u-|c?=n-PW&Q7w>mSlBC&r~#UwB=#%d_yIY)34gN4UOL1Vf$l zXM-?gpV0#-SzOIJR4J)sK{?7%*+`i{GLV5)np-AyUd8C>;%k32R@Cc(mjPn`! zi`eq;j&^7C--CkU=YjLr=o6dimJeN5QQn!SccBU7 zUclIo$k%EK36;>h#a{VwZ#cwGaWS+nsGKZ!N@fa&O8`)=OADC09J@rICtJxUH||QX zFHi&uI(B=Rc-uc{n6X>ZO_pdozMxT1X&5HgVS%`51E5^}uBkAf3vWEhc|oox5YY~u zkr-AFj>DhgilfrCj9`*0T8z-9neyX?wyXhVUe?z|!0~B6-|^<1f9yG>$dEt63YVqM z#nDl=Vn*Iu$p9qM60OD%akR?6~0rlH8-iZdZYYWcJ^h(wT<sp(>j9G`Ex1?t|76;0zom`hAQ;pqk<4-WT%ek?tYt6 z67+X3@d&k>tz14dDT%0eRVhN10~Mq+F}n+5eo~da8hT zPJ||eNp#BPgj^6g9r$vk9n^N}9_{zxGy!0jyB-t1os`Uta%CUpmHH-Vm2gX`jk0i>e24=oK!Z zWLW3sn>r}Iy*8HThbFXOny5B{wE+0IXV)pg>t&(`CS>)$Xp+^xgp-gt_$tZ-E%DWk zg5eGBu;|i{h_H?baZ5)HyfXXUjdvAbh781@O^m?Nw-+=YxlK9=6O`c;S;UnqFeB5d zfNs_rw>*c~!K1c>z|jPI8i5&No$a6P;$y!%?wQ+;5{fi)CFSa@@G;ZRP)jS?*5gL0REKJ467hAI*-j6D45H`# zsdwPb`#24Hum@~a9(Gx4TqyFZ>HFt14W(2|5~pgazAhPUhk!rYv+8UAJ9$<|>xw+c z-z31lxF6Y!7XGh>@Bh{C{Xf_61(s@gqVt`o|F@Y@B&#{GwIZSQ(@yyd`{=)BMj@k! zKQkkafwW1CH_RxE)>eo5jfu)}e^nHHFIp?OouN|brrcMtdgHcNRc+#*D&qU^Rz>GC zX%xGqXcIprrc5yM?bX~3k1@2yds(|XsMbg!P_FW}42-*T`2HQmguh&?>mv;wTkrtH zvCo!b$i8ewW^i3Dv{*4|mJ5r|vSq?r&8)G`#!st2-Tbcd5*RsLM`;xLz!cIX~c>0QlVxt zd~58pdI?%?7Nus%FeNli#Gy(;k5>!IE?^ROI!}2G8O_X8s@anVb#zZn{+PdApd%LQEh@_k#eRZB;w!v@ zI72!foo0q@OPS9q(su>Gwti+_CP}2LUnROG=XttdHr&xeJcAfCQ!E0kZYNoD@qMaS zoDD{1B+|_|Q2Ln2ANZG5AfGkMLH9o<^6z^e6Zzc}g$Ou#`p;W`b8tPbVqdG29}|*N zc``N`CQ3Dlw263YbmfF!z9aw^&#iJ9lcnzf?Z~;Q-M}(+HN*_Y#U<5i|1e)=)Sfn?PR|cSqixudH z$0;@&bKcjP#AEM9TH=v9aCZiGav)DM@XTYF>oo3uI&cj4@PtoCgFpcFeWXhi52lq| zaRvwvChEeZ3L%D&q+~2}vm}B+262Xvj8HR;V#0g*I|JD%B53NtU%+rwy zrHtn1ndK~CJ@fU9`aP_k5U8=2%O=2`Siti}^OVq?Ska4xnEeI+snpKes{^;2ykknd z+t1@*MxTiFX-3wKpTH=)!}w--n9#*It5Z1xtcEdoXC#nVhX{)ds~D*dwve^KJ4hiw zf%s#a%MUwhmiHI3IJ9_pqj=fj3rxL|1_9TIT8RCww*|0711tBwLZ$r$Orqs?jKXZ} zTnCwOuNemUEi+Z5k4AH5fFB|85^a#-PFVQjNHo~7RxnE=@W+@)X@tkK_M3xUN7}Q> zOo%js>Bj9M0m)O*FeO24QTZ_SC`|x#>jzsGG(B8{cdK?v?K_;y(>Oy7DV6v)A{=Fb z!OWB^j==nrWQ(g+IS}VSw`mZc)4`4lzMv2?z~>7drrCwUWXW=-*O!`ZlgKWQ-ucBL zkDWL4=3Hy&s_(%6=N;DxleiEPG<0GUy2uv?YK5E-yvWZS(sDr5;;z~R(E1Ek>OgNW zA|$qT32l3QW2jF?mH z;@XXKPZ$GGy&hN!GwHj1B0SxrOPu0|sH53EE1o5F3#LMoz(>1=>80$Y3`WwyDo#Hq zi9(4&`PiNS9@k4csEcKkW|U6ax=_PNCQWTYSxKLsykk;c@;iB5x=65CrAN%qHfLXA z;Xj3qYz9ix#2|-DGnoQ9mnE*AnIt7JGd&^ob0MD)q;59stK^%%nF z04>k-SiPcBPi+vO1lnz)@qWcPKD1wY_~F>{MeYe8Y7x-tYRwL&lcZu?P9X~%hHr-_X8W$m6Lro%%CEJa&_NCAIezALrLRm)3xOuO@OYU=Ux}SlOe?Q~NOUO$430~8RqAthqJ(#Js{c{W5K zd1siXS-HDER%ng-S{3m9zd7-VN@`F=WCdU^!I(OaTA!?V*A!cdZ%VgQLY!s5x6*f} ziGj8GDlYwo%O*Gxy08Vg(Yfo0z%~(J2?YyrBq^YZjHt;CcneHqHth`|B}^F!;vMaQ08;+3BjS-PId4F{cNC zxmXf!cJh8__nh}xS({k!H~{aLUd_UxFw7;FNv5QPXzFjm!+qv&(B*u^u<+vAm(Rga zg$!>Fm&#_&@IkrLk_%6vo_HbYUodj*YD64S6q*J5hi^O(_A@80BJ67dQBnQkkpVsy z5U5ss902>18CAiL$2G~Sq2O?1UO&M9WI&2Hs~`GEAlde)?@3sok3%8iTN z=xun9{@I_ZPy>?>E6>(~+k>5Z9}K*tjO>dL$}i5tX5?bMw|R~4yID-n)l1t0_@T8K z)59QL>!YPy3jXVT!pr^sCj-?k&@h`2uKGUp2_ak&=Ik%&2wMp0};3D2@W{}ZWUvafrt3>~Zz2sVL72s;aoHV(9MRzKxs=n0zS?+vw zZ?0F{U^tHst(Pc*p-381{#RO{?3_ZSfXsfzt7zt0QTssB%zmj+K)%j_Z+-k!#bsI& zJ!dbpMWLTdR@nsBF-9y6UVLthKOk6$d2QU9NZhF32PrYBK#pdk9E|geFJJ;Qyhmoj zGUO3#nd9~on&$nS?N*=-v1VT7YD-zmdt@5GQ?(hYT9j4Qgtnx8V+EE)uz3zD&7mW} zE}dyY0B>lGK?1`o2Rl0inYc`7kix=?|h zC^(iLIj1(qE|&5(`bvn--QA{cFCCeGEAwi=$~+?BCl2A{GXdc_1h8=#6#yzp35Es* zv~cF>XC9geh*tzz-=OHBnxm*xYH~vK(QCpq);i(i!PAUVp6p~$nNYOWgV07NQzP-d zRn^QBn|T(1qGc|NUu>$fnx$L{#N9pp#KwV}*0Bi13z)^oev?^iM-hz{CJuF5 zOWM*Cu5R7liCaZ?jYC{&5t^?&Wn zXSe4gz(OT(dy{PMx~U|){A$Q~UykXV<)I=J-5U`lu&d!jU)FqngCy5E`R9t@B9s)n z-!A>V>Gmg0LR2AOl*B+;9@flkW8yMd9?5?$M~Sq3j&!Ve5PI=WV(a)hgVpBzZ0(fF4sdS$2?QxwVH5ym0F-$d+LWaDnQfpk zLRxjL_{zZ`L-E@XEg!r9Gix_!QHugx7l)Va<3`f#H-`QPe1iY%Ih^*ef39)IdTY8& zAuNh;;vzX|kcSx|QBcq{AvS4{c(+33{nvyM3ZmQ~FO;2Fv0;Lb_pBVag8b(AFHpP^ z{NZu(8L8|UP2HB1DDR|vqMs^Ku&Gum4_nS=x|+Oux{ z$6gE6MMn|7)Gy_p2UMb3!>WT=2K9O!&EpFHF>D@&BX&E%-!f#YKY#pldO&q&V~q^Gr#=4Wr7 z5MXZ}Gx!Pf&~h1?yi|xt&;@9rAT=Co0R;VW0U1_5Sl!HJYZT@i7?W{adbGe!#9a~= zV$vO4m>|M8`7tDc(^>WT%(av>-qhh(6s~XF8f-$g_@n!(9v0ofvbgR>?@Kb&#>d$S>tUi^0Op)Xp&IFmqq_YWWM_c~^RQw0W_ZRy4^o>GqLLb=&#t z%_Ep^H$in={j-Vr(TpZ7*UeB;+HX!Lwvt5e%*@oeKep&0KP=0{1whU}A?b?PU@cJr zPet0^-Jjw8o37j$J+OAMe8oN36(=(<{p)O|^3gyD(%1efqChxc7z4s=!nlO8B>qtL zpPt+W%1D3}BWsRr+cmIt1nN8{*MC+5(w8t&j5OopVM~RBE9}wpY~l+B~vSx59xXRplU*5>HFyTq7t04A}J5O%tgu%OFOfc8{Onh3QU&xko4b)~{S1Tz0>y94Zdjvj7$jYDA#x6ll$+!^dikeS#n7 zWW`DnttUwkr%PB1Focjm(*S-*#YqF!s}5LrP~rA7;oqX6P*Y~ zQgvfFt-J@x=`~16l~nstDuwv(y8x3& zoi#Lym}iJMuhzTgb0}c$5(vBv6gzN zD;Oop7+%U9^Z)=_07KNlD9y4e0RRoiKDIMJ(*Q}VA%Q+1x0AF?(p2(0J--c+DozUi zTPpgrf#c-D-`TN#KB*?!xjFM=(v%vW_8D`!o6-6~IyeU~-BR%+m0QoLcffuRabz@R zZf>AKGk!xIAC?VIcsAZmArEdR5kMF9feaiuxB3!JmHDiIYwAdSQ~gjdDE|z_hqwRU zAbd5d@@rJ-Ri<)zmrk0BF-7HfDVQ#vyiXEEAU@C2)fD_B$WFYrh|9$CZ;>WZNh9_! zEMtUkDL{Z3=EMSeXHmx>p44#u5q;ZoGwf5B^ec-OOQkeS*;kc9(C);;&DNY#`spgWTXNiLb(o)Wd+9^B0h`Nv*7Jg;Yj}EIz5fQ9# zW$I&wW68Yh$l^Snc6!i9IZxnxQ(%&sfs(=L1=f(MNLidIQ+bXv{>8vaX_jT{6W0=> zX2_#PDg;6A8G(rkMFsg$G~bgqSc5(h0EWsHAFHdGGiBodM0igG`dA+Ges4vmAsa zX*;DcQP2l%sc7TQ6w!h^h>m=cAO~&9SmVwF&}paS*lCsltp{=btz9_sf*W&bojpBT z5AlAjHVN3PS`S{Ts*b}w5;4D%tzX@B(+0&rH8FN@E3yYQcFltIoPFt9!`sG zN;^b8G2i&Q<(v*L_w1?!LssH=Euj^kgR<+NkOPc70(@_dy<@7Kfz2-QtWbcRdpE3- z5yroAO!#bO2r?s)2vvZnReT&Pa4RyWo`{{BS!Ot-#R0e#e{aJ94e8QBnUj#P8|e}j zD0DNa5fpTD1>igsOGfjW0+camc#2L{PH_d6fRm{wj?@=26&+cC0k-p5Sk?q1Vh-9{ z8DZ`v;tOcti;hfcoP-j9Bxjf)6rH3-kQANN3PmMnvLU-%<|GVDD7IezKfHVA;(|2W zkd~BRAhFu?Go7a4SBJoGax+Bx9;-s&7e0|V^)Eo>eQFM#9Je#%C*q9~4n&C(ep8@e zfLX6S3OO%8lRgG1p#=OHlSx`DETxYmA$gJLQ3xMm+6cZhWBdd#>L?atJfKywdp{|W zW%t~Ro?T#j?S7#^Cr%~Ha;nrs5feK6CI;QgaH4a2< zh%1c4H$<{%=tr)(Q0;(F%t3`3GlL+xS95YPB-1bv&=Ny_W?FW;dA@>g(j6~@2DP^p z$MKbuu5R@A#=bHzU zzh!RTEYgk<;J46fu_`d)Q~x&My27zpm-_8x%=lkR3
    >a7jt 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ⅇiY9W*9TKObY6w&`)Cw+@lC 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

    -Gu+*b3X1yFkW+^Z(>eH}51=&02(bd|_%c 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�K+n=kYnYiG&kV}mn?3wNRdPJ_-6)P{ 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
    aHgBZ-@1PW$j!eG;#9*OWUJ4l4f{KUWIVy+WCOo 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%0Dg_Er73Y{y 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

    &93UGf0|5b8DZyeOM2Rs7pAUi7 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 nO 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

    BAL28*ifI;r@8lJ2PWLC$&q3E~t{3O}i)a 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

    ?ab8;y7-l19GSguTqB}hq}Dp~Dj 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

    Y4H7sepaO-ksU|EgGE_zi5{C85i5(HIh;dX zgp`WGe8j8vvl`USmkVOetZnsexAzknwh3vJUQxYftqnnVt%I_P6J1%jIir33iEsFx z*QYVe{jsL;*GI;|grvd}5pC^|)$r!&!+5`aF&FtLQ_}-nFMmB-JrNu zfHoxB-ybY7Z_9#@j>=^&YoZ?xUw9P9eBI#TN;(rsyW3(#{Hi|{y)M~XFazE}t|V3+H+3Ux^y*t`P1eRMU4 ztO^7PN8=wH{&xJn2zq-soVwDYASnDL>E47~HnBZ{T(->OEjK~5yBu*;N`g@hhX1!g z*(A#;Pv&+S+h(W7YS>K1f-Byxo>&;kC(i=KvO6z_8JCIj!5=tNwr+Uhl(@m#R4vM8 z5r`L46=?QD)p&PPGD%5&>vo_N6y?Z*>~D*I%2S+Tr4~ez3b4}&++|R7O@y~9*j$6| zm?p(43#2d~S9{S5h?M`$&sSRjett^u%FkDM{}VsAd6Jm8e(iaY-azEM_nLnkWz!Qo*a7O=(QZA5)#i3bw)BbX@%-&n zvbj~~NSrV{WvG(0x4u;;zR8S~D`kRcy^+Q9o;K=@IQ*{lwqpzjS-sH^e^1CqfIR*_ zk~ej$x7@jB;F31UR&rPifTbSbho%O>&~i8>gu9T=(q%VKq-Ic=O@91E?KFQxC~P|M zW)M3>sN%=mi5xxK6V_*1c`eCHr5F>zMbAZTP4XB6X+vZ>L7sN_#tWY4W{337cihJScD7kf)%|RB8zab?Ncr?joplN0m0ub1j+hM z-f9a963Y4s5>bGJ)(M96uBZnn4OSKRM>F`WdfRdO&KjoZo-{A%x3duPg&Z2@c-yo zziOg^A4?q=W7%uY3OH4j^B0%f%#em~oYUgo{9)-Cn6{X&W_{g)Fk`fhBxTx3a{^T!HPTZ;0>{RY&PY|Ee{Wa$7Ga38|6`yo6nG1~0i(uqP{%MO| zxG#iUhePEP#{C?%}g>o3efz6K@PxY#J=D;T*41 z4UlNx25OV)5Qyl`PK`e19=(P(H%pTRQ{oK3vc{d&wie1gj&d+R_$QykJ!}hQ>~fRT z*o!p-OKkg(2t8wSnzLaPqH**WY`*9(HZc^UPKSU}7N7(jWuyk5A96N0O$loo(>Swy z%a*T#l<3x%0$6jOHzd3{fHf}(d9~*6I#|59(;&?MVa?%@vjA((t@Fi1YoAs7%_sdt zFrD4fqp#DAc*f4#Pt%_WDMH5<;0VwQO3Lb(2X)X>3d%zWdRCWoa!9>@&|pH7wBI_l zbp*3q7!{thDhC7s0MS!+`A;6Ee_nC`6#VLmtJzxuIDxMbDn}S_laA(jqvDE3PTj+4FilmGi^N(07PU%_oqR485{(N#3w&Ze+m@2$uW zIPq_U{nS(XYEn;?TJh!4r1~)cGtamPBPGam#5kBQydxz53B9KVDG`Ka(go?rkFo~s z-$e^z#=~YEMP|a4k1KpTXOlrHLl91^w#hskojZW5wJwP*`RD_pk_K-W6~SSVON z^5Q-8F&YH=0kTMQzPnf#o1U5^+;KA659Jt1?ly5d?W)y;q4Veb5?~sU{I^*zQ^(0Y zLcA)T^Sw*z4Y64jHi~8CxD8>(ja3Eye~552s(=&_pZ0IfBx3hhxjDYyf$|$2?X`7& zTRNKesP7N1iE~;oc=+?l((+$)U%4PFzn(8D529i+$u&?1rL%@jSjd>>BB?!y=~`MYlKKYgv+m7F#NKHC!tjTY78JkWSj({h?7(+{8&l-@zTu<^|DbX16t zNwo-h=^`~@$k5JOfJl<6Mj6#$b{cU9B!@sWOVxHiY)!E55lHqQJi12&{R>UM5cPj- z?Wb}j@LT#mrx?9dzVK00KO6BJEDd0S_g(*Bf{*`)Owec}>a>r9ME|wZZBWsImb!#U z8EtaQEdQDSUWVFv{-a+ZZzKcN8P*DIYGffVC7wO@Xdyzc4@=BRn8#U)i<=7cmfxP# zph{kajv`1bdiPeB>al4)difOsZX!HN`4s^eeDzJ93=u*K86ZK=R9#5h4HDk84p$;H zOnzO8;hSJ+@&5jx7_xkZ?8R!Hg=W5}jR$QA0xnUem@Ul;Z_gz&{*}POc4&Q(QFc_D z^7|3(rPh5+dC76S`}Pno%&bAad4j*Sx46%;JG{?AK;p#CtfBVcGC83Cqy`(l)QV69 z5C8b3jS+P`8<)q@M485dz=E{`YWiN-_&PSceE4+|$y`Z0@#CaOM7bFZ>XgnkR82AH)u7S5L9IuL+Ud~`-l#!n7a!ROc3`kYMp39 z9i+PJ1Al8B=R!|9c_(eK+~daF#+)yLK(@?^k8P3NYg$&!b6OTQ{}TlFGBwV&19wnL ze7AZjm_7HK^;5Cu;xML}m9;@>_WU{cq6K^1f~QqL&=Y9%?;jG`J{`DSJi0Z;8Aq5QL-5A=y3sLw=j$8%9G>^juM7t9EOL$)un?n1JT_fg?QJRQlh z)#{I!yJeFfBq5>ZdJLe}ujMiSbK-;j&z&55h$W)K*_A!cOne1OI*(}kGk&6CN&f;M zN(6&P$%r%{_l>TQzsO9<4|3vTW_Z(PfxqmXxj$mvmu-rjt7XW@#ulRqk2xbT+GS(D z(6M|o=`8#P+u%U=@8*M=%xJYnWafx&>^@f5mb&IgzYN)nSgaA@(KJ~{CT9w-A}2fq zG4ktfJUz`;;#@_4ypNygT%~B5Jug{lnmsGO?M~H{XY0O`iRz81B|?;Dz?3J*6{hw9 zRyESPp|~S$CJAE3KbxVV0IQi1q5}y*56t)K^O=wX9W*tb6elt3qW0mKXX8JDcMkbq zIF*+o2mGB{8u;6Eb{W=-sBWu&W)htxT{)p@MdVO4T3)o3p+`qcxJ zzRHYC5=>D3uvaE>9qxlHz?tJl>mhow zG*#Y7i55N%_^^1g^zgY4({h*j7GM?fg<=?Su>h>YBESG)Oo&M$Rb+Bevz!g$Z=D?2 zwe|6fwh&Xu%YzkRk~qEI@13BQVAhH>s=){NkBI+w>>;{dMX^tzAGRmt{%;|duuT$F zTXhF-@^!*9qT^gF!E|7kEl|bm#oel6ZgZ1mSxh@m(3QE1^zi|ctjj6|Fk$~B{p*tk z=-i_<{%F@^aJFbjg^Ipj*gc8(wroKsf0PCZ9Da43^@HJQ7DUte7J@kSovLJ(u zvy3&kO|^XGS{?Gi?bnszE@UmAvG;ww2WP~H} z2XZ_*C%Gw?^TDXl6(~;+wC`Xjc+)WfPTB1J`jX4G{xA4ngwF{X*yB~eIw1q>oL>sc z3E3Lgd5~Y}K&;&|uvL7a7W@J;Kyt&7*k0I|vHl05N908VvIqQb;k5mN6DYa|{N}s( zuMT;X1G+9S#P%dO1G+`l^bGd?Er!XS>-{`hawaxnsvGxSaSiUnW_7U&KZn>q(y+s7 z7|WcIAqTiqJd3$z6a(zy^y8O&fM;Ho0iFghI#VKJK-YD_d}vQ7jdBWqC&Y`sm~IdP zgQt|8yQq)$e(9d1o^A9sePI&wAL$DdV?CR=$8wJVS0@LpXOo6nOb1Ng!We`R^oya> z=K;CdQ>L!bT_wi@xt$Je0XYKfFVs5>^6_qX87E@-JrL+O)KD-c0U^+t|3-p^CsWN= z%GPM(^0JapCo`7@sat6U{B~PGY2OUlYuidoUscYD{(5ST1g{W9tZ}|giutA@&*RI3 z6E+14@-v#-1AP&5SA5TSuyq6!P@2z|!N)WlI&ho=P_4C9jah+oE%lF{>a$jG1F{3^ z?3}+ObIK~#G+HD9y-xmnygg>m#P=m^CZ7fGJHzAOew|78)vu#`>U6`@aVkZn#i>y; z824(gC%0%s^N*G#oi-V)o~NBZHZ-bUyx+^PX=xf@ych<;wEYQzF5V$NW{+w?wW&QVfux%K6*!X%AM59{MWpDwh+V>cc zB{T&Ej*1y4nHxYn5B6(3PZznQaerUQ_>4l1U88&jck_Or#7Uga%epikA|o&{$(OLp z^@^AN8zYJw*P_1F}qzQXtzh*G(Bz)tof+5_1uLKS8Ts=BS8{oo zi(IuH$ESWP$R0|`07NI%ExUH}zz zBpE6^hsqBlONCryEWO_8pQN65Du#lq0+Ve*VQu*wELVsO-#VUyP_$I5!xF_Xk!As* ztmyTYFt3pQ-^IDqpX&TftICVL(Qjjcbs{5tDcpxo6wn3{NrF%tP9qZ0K(%c0-hgz6 zcRC<_PodyE(h(X6Qhv0pvGn|bwfo=mQ5-^E0XL3EpE3Kokt&+7q>{hSOM=omLjT`k zE^PSxdWLJODmiw1w|}R&=Rhy;q1n3tu>Ai|Goz%@pMPD-+_^FX++7lB^yhGz!ETMw z|JR@q;5bkowSn>H`zy-85H5aH00+Nry8>_Q>Ig*diPSvKqsvLTy0bQ`}|Y zhl02}X`kndfhgWYg65bIg5;QHy*n=YVDH$P{KOvfH65G%DAyI5Sw*5J-ogdQryA+ zOY;Z2Zxdp(Q);4b69PW$BOt~Jr`UHBKITn@`;0?*M1C=a-e!P^?P?cV4fw5R^%?I1 zbLSn=1?Grk$=a74Fv<(eo;gx`AZ#b@>pqImst9Y`SE*?&omH?8?X=e&v92{~Ju_jS zx-RdD-<_unS`cN=CtKgBSfN#RC9O*mLY&Jy&yP+dt;{lPOE0l5&j6bpnmJH8qyHrU zAQ<(;he8==2W`&Jjk2EYI|3?49*rKpu<#%pv<0mDCVY+iPF@7u-nJ3yLC zgIQT7Ak?!JThrHN!*(FO%$O}MAV0?om5jc&N^^jmlpucq{Q-Q2L;OK4l@p4U1RTK{ z14W`$LO|((Kt$$PLweVpWsI`J*|fDrP=Kcvy2Jh^AtG-{xUxvyu`hD zq(4W$JYN#-S=cn7Sf{{i+JFcSZ`RuKo2&BjNem(5bJ`4or@)>c&qpv-0eJ32dv)*c zu5fefaLZ%WWY@YLBej3l(LH_bs{SON*)LVM`~87gaFuKuRz>?0+R_U~XJ#@b{Eqqi z?|BuO^mSfM+951B?JdPT8mH_K4G8V=MDS)ZZVa$ezLQ*&wUPQSXFqW}MZ`maaPrGw zzHjGeq%U7^%D*%)HSg63OczE>Hlt$4V518lgt}39nY1k?-Gk{;VwQW~=RwYZuu#OM zN53Y=`(|D&mtS^!S3AO&#xL9g^%t(l6cpIg1Dd+FfWG_N?lHg9_j z<3HkbT+IIwr+07ujnk1aw%{$<2J*H4Z;R@HC#*3mHC*k1*RD;((RvErT--I`k8Ry? zS>qVET31YYzWKJdGC?_)^IsAOWF{M>=~vTrd%4pnaaIYX>x9LaoP`=7p5d{kEJ`~P+9f$o zVqZ0kVQ9$OS@KqHS-X4r*;#-nxuc0z5QGR?0ETQptWtm4**U6>Gq(gBuZ)qa<)j!K=M_Ed z;FCfLgPETys&eQh3JQ>)vk_J?r%R?rDSmJuT67KUQx=tUd^Ixa?)o1BifWN1?i)C= z3xoC6R;R4RV!R33eVZ4aF0r28rR)d%oJ^A+AE(EKEXs(fN=Jf(ra?O}fIG+4kJ}H( z!b8Hyy@JdE9}jkqVU)sUQA{w_Fx{$V_(mKWTK&_CY&ME<-~utygCFLY0U+1D+!bcu zO7RL<*_dYzbb@Purwja$+|R;TW+o&3awBy&1{U4$--vl3CLnS0+1QrTV(Z`wCxCfl z!h2>QGDF`c!g><`?EvOH*hPB>u=o+UZ^R!(-+2VYdqUSyAf*fkG7h8~&q7*Xz>c8P z7=}y*Gwn|=F3Jz1hvB7hV5iWB<7j)!`lshNXX{z1K}~TG1FLN);^RQ49SN&2&q?FP z^bqax$b#+i$RO-`hCz(D<|2%^`Za%w^KWj$Ruo#@O8ef?p@$sr*L;$gzNm-nrJ>=} z-ys|GC*Jna+AytG99#wS5x*k4SDTL};~*+Gbz!^$UKvpRnL&|I4wD_r4taNNHtXDH zdSQE(jgFHY#K54DM8*L(F~7S!+3gbt-@(JYjN(>^;|L+`Em45uO-;PVh{Crh8s@$; zbDso>f{&8TK#7u#g2hf1putZ4t<~x{IJaTvm>vzD7&vT;W-9Q*BuBDzxbCdRqM$`Q;lyB|N{LcPd=`t-jh%}KikY_(e>cgXPfBJX6~tnrhY9== zL-AgxmH+rZywftOP!)7>s0c0fF$iY2Zf^ZOLHG#IhCB(~IKvm?qI9m~HX@#i8f_OqLx_6x_)gFs&(VvY|2MdyY~2SN7$o)zT#;}1`5Pk zo&?<4nR;pPrZs1CY}DT_HkP8fzWFTri28gc z;J2BpGx|vvL8QhNy5T?0x}KN5oOKQShM>}3LZRf@JOP{#X}pdJRxX*to?eef1n(5N+3ka)raBr4AOJDR3q!{zdqH4~ zG}LQD#gi|dgoousoX|ic?y{1V5}P9ddhR&3uvpI!-Wypv&v@5;9unspiYTGces^Si zYm+QP2gwYjprhCLr&Va&IUu8mBC@9Vh}?i|;a3ehY9~1ss%<&e;%2ZvB>OPGZV|`( zsSJ*ADIjp2BiUN7zQ(}Rdr%~~UmI9};HQ1=)30({s3x4wfB{j{N&oiKXVx!-$PJU5#RcR)DB1SYGiiyUgchAXXfnf^PAN5P@aX|w)r=0y)4lexn_3_7vnK`phd!JlJ(vDvCpvjR?A}*}_ zzGz#-Vv<2Qo7Oa_Jk!xV*4OM5nj!MDvn*qd##tJQ2*Jpx2#-B4)i|O;1u}9&IrL}B zs7>ubxguj+-VPHaG{>#^ZnfvkjB*4G^D&ODjv!C5>nWCbtj$sE0sgTectyX`m$|PB zF+Q!Ms@Hq;ewXHccac;T2VunLthv!y-+xNgXlCqWoWtGx zuqMSc?$K6EnPrch?<>TR=g%!^;luFZ(&oEz2bkw9R9MsCI~oqHm^&+@6BHqE=b*6> z2U7tWAM9X4is#bDX;KKBEj>ptyq10-A_W(5#5xC41zQOGQVuaQaiolAC!~s*l`f}z z52+V9xeb*DlASph3ODT_Nl#mjof*9kLH^A*VW?1l*z2&vV$&L?o=ldwk6FoBIUvd} zyFYzAQh%sj0UUN_Nh>a$CGLvGmU`g-hlUzt1q$m@;-*=5cQ`@u{uLSmhd456Jm29} ze@S#A_~*!{;d8lf72%ILWc!;nncV1x4*?{l#Ry2lJL$QgthHx^RJ#*jx=>}1b-A&Ja_lpN=f^gmiQL3V^yCEVr=?8+_%}w|%iQ_295p2f|AT2Y}zG>2Du-N^C z>d?|h0^G|SYPl*O^lKz*RvOO$NjyQ5z8bAVi_XZ1JXw;RX1z%>kg9iP#-t2-K|GUl1RRbE^@sK8v(Nekjs~8DXuN~v1 z78?fz2K?_q@3@vV^ZZRNf&XpeS8=NUQR-b`yZ~?|+gsb;Q~FKQq;Flcbt99G(0Y)? zXMj=HYj?qAjt5UNB7Fd-Okg%5l_WtoB4v`G=@83-YWVpvG7?T7S3yrr3Y)E7tLfU@ z0b5HYc73ehXxU4Qj6;;bVUH1qlYDcxkc8CApD9Ez9ZXBowkyae==6-FD4OkRc{5mY``34d+;O>f0b0dGfmK+J6F%0nE zV<&v>PI|O~Ncfye))-_)muWOUQf+S^Uwb?u)W;zThqDCyXxq>OF4h}!$;N?sq?fC0 zs+fbL-bX5T80hAlEkyfLKFe>-y4;jOAtAci9=XBa_{24b&*tvY;^ zg*g}>Z6VzmWDnS`1mG3M%|jdwFjFzL5?~!#SpP4#sb5vp+OTh@23lVZ>7dq^-vm{Z zPcDp@{G!!4dkX9?g^lOWUen-(tH{iBz&de{uwjecyM?cq`961QftvQ8gXZo{Lz|B+w5P6d_~iwGL!_ zRdA$EXyIQ@HM&XcaBFc6JFG}Zkb=c&JmCA|KyhPLI!I2+!ZuJon3gc z=*lnL7@?qf1OiaO9hx*dIMlS0-$LghJQgagogQ|K6#LlW^IilxWOv9CZanU*!syz_ zP+U0lx1*{mEq#72kHpsk(hT(QkwmYJVc&MD zYFuCE(bt~#J-4L=^aVWOeKmggcImqijTxVk^yKRK*D8+h#b1tBrHi{|GnGTp6+%Q2 z2K2wfP#Wng$T_J17xAC6!Rnur8L7t-11j>PcNqJbL3dW#xWuemYz+HZGEq2g3fvfi zGnEoW7`9;Q*_5RLsueX!s^q`#@bfxCJnQqV9w?%4aG6|q5MGmf)CW21pO8>8^O2e^ zvnF`i`G7xigVhpwvYSpl6E}D`wk?diI|Qe3cM0wqJh($} zcMI%?C_l@rlb`QFHckNxZ)~vZ|uUd1lpZ2Cj6^kJb z>(KgscylGX2%_*?)InOD8?xjODOR2a@I)vo34le-tm!YOZ-Wsl@ zOSDM4K!}814^q#2z%B3bZTT<-Q}IXj4L@Q>kE|uz5mAO|Ng^yKgS08!0QcfVmYTH+ zuvbcs#y=)8)>7}HHUz9KF6VW!jx?t1D~qfON5wQ2HKm5w(qLmeXTs{lUxmm8(BK_3SiZa#U~mna&P{Im`UXM z&tnejy=aPO))&#&rY2oXMB{Zim$qP``T`t=jz zU=4L<)cj3}22=Li_OKg|UY5I@Rdg%@H=rK;!B-j*+UD={kCy}$w;BY_83=lo9*Bdq z#uT>QE0-MKaW~}m36l@MHE%XHp_b3i(TRtD&F6jb%|c7{Lz}O%hG=8WW*|)jIJ-%N7XQ9T5s}cIP|Jr1k7$gkN%X%~h!h3f;eB`+Qg9@;+L6*Ox=K@7HCnYM2p zyHQ9j^jizN>j`^IyU0Z)@{(+m5=8@N~bRn^BO?BxB z3wP;BMiH*|7DBrAR*@wd3&$l}9>IlQzBeLk>cM4ghh-n94p-9$9H@CfNLai0kBQP% zMzQWJl7?4e+1!yK94!F`?J9^8Ql}Q|kY5g5ySfNZ)#nUwa%wTH8YNHd0`sWwiCFQ7 z10Fryh~Fm_Z?@Y>-@hOaLe2R-b_i%|()*-C?k*F3k1V;JPg@*3fEoSE2arouu9yq3 zSRH3WQ>?|8$;3v7ztDqqcpV@s-sd7G@*NFkS|a=;M32)_SQZg(ICKP-zE$MMB@Vb5 zy}C*O6@Cg7hIop57mO4lU>%Lg^>Tn^0o_j+|G&7C|BX~cTAMkOI~)zV{y1jca@|<$2wmxB zt?G>i40$qkVcJqG5NAO#JISljF=` zPqLjJOPoEY=S^nyrAi6%OK>*QYDSr90kh1!TTZgV2w$KRa5AIm$X!nnOGLzwzd&aN zGnSBTdf3xiw8Pkmjhu}yW7Y`?w<7%pUG)1hKI_5wb1s8hazn0R&Sk{}!at21NkN2} zJ;&l`VYitTzi;vY`r*aA2%-;4J>XiLN6)*4gGIeSvvxB)o?{@w2KSNPfT}|O{t4jj z0rmi+o2=9uW;}G2yhdeM^o>WPW{Aife?{<>3a7eou9u)6_*tzy+iratkdgm?b>jao zCr#;=P|$Xbc4`1pS}Aw;XzZ*Cs}Q@KEY2Z_aAo3`i*b7$)xe5`buUHOC* zz|p5@N>y0W@C&PWez#ox$&>IF4(cN7is5qE}|A z%5Z^r$DX|(Ux~tDruF@DNc94S^~%r{ohL=G=fj=(n{`v!Wi>Dxbr)y4s%9HTG<0Gb zl}V5$^ck0wYp{T<}E*+(5wHe z-K?mAXWLqy2^EIx^4AvP2QG?7WCPzXF2uoEa_o@gf!M2NrP zN;%5kaODOVt^`B*k8H7_czGdRZT)i_g5W~YXtJ(}<7-%Ms6$wY5O01^U_X7M<%AIs zA!H5Bh)0whS~kpx6@H0;gJun#;lUuy>rfychCH-DY6G|f%o&&3m?+s!VeE%w6n6l~feteiSz}SKP z9l0kHa~rt+wA#2Qb&d3K9kc$od|?O3m+`KbubV-aH8IGqu|22je#^1nH!I%1-o4!? z({2puN;{Myz8xQ;|G0;!v%$@pQj^>FjpykCoWt{AkqjT{&(Lk<5 zeSDWwTm`fx@FUWS=wb42w!B~cQ&Lg+GIG(UC;Dw-_luG1%KOPYV-H-^ag8U3#=`H% z!0}AN9Pj25jmi;|{zNkacMfsO9$-@yj@ zG4dmHXV=S{d7RT33pwz2#fyX4Y^|Bq&Q+u5E82d)_)bQtXDZ8m&fmMxub&NU1zin} zc6(a3t;UeTHB>(=o7_vAewnG-5Bw_Mc|JJayia^%DgjohA|zX#-@WUpSTF67u#*NA zQGp0AuO-+L#Ylut|D+8L$Kn}b z$#TW1tiF29&Xs666fz%SLdn{op@_fnm||fPvpOmgr9SPRF|*-jNs}%cRSMRYi=}VP zJ8#Z$lk+(C+b=Egk$adQ01egaDU}9yuwBVE#E6_4^8{wy&i2?!s*I6;&l_+k%m^oV zNS_)KOW1;o!dFAdC`KAg%_z1vTsWpn`QcR@WGpkg=xn7e`Y4bd+9#h4=@N?D=uvQI z@hVDaUjJ3dbStdP&oLQPj@=k<*kCAal1&%qkcS$@48(Wzn5nM@(tF*l$;VHEBLDn@ z>QMJMt7790=S;


    -22)bAiFuv7%?T2dm^eJ^fz4mHXR6k(A#5;a^s=$9Xs6f|w$ zN!972J+T^8h^`#=z(vIQfmCkdrC77(n&44a(uixQ*eZzz{pqVWDY3wtsNHFTnB8~$ zQOo3|`#_A(Jvan%X)j#gTk17O=FHFWSe)x+b-=hBO8bHl$U2XbH%$gv1?`a*1vXv# z-&8iWex}(r^)`KGNvw-r>TaE#LAi7xG{2KGw{^{+#xckG=Sw}VG zW997K#=EDdw*f$lyIJ`lF#P^V^Z8@0@BOtKo@3o=SQ#v%hqML7{YyaEFUy~6n-2oy z-yEG=3AvE2hWi4a-UER(O&Se5fHlSh4o#B{RgQ-1wHPV*etAj8b04Fk>f~8A==-^b zrl+n-*O|9;cDgno9Y=6cFkAN!_2X+9iOyP2X#8T-qD)In(TlK(nBOI_w-7Ljo;2!Z zNUN1ZhUJ+OwfW}b_Uz=-zI6Fy<09-p3BT$Bd)BL}DyLX1;s<7or7$Lj$p?XEZ`_`g zn_vIE1>Bu|QlOwpqhdH(zikS+IsM#>V$&E`76*k_Wra9?u$Fp z$`{|bT{oIh)&#@z$G}SzsyAr&EYo-@cjknNoI~}i)C*32Kn{R#hO?zfelg6=Z8xf@ z#u=e>nP})GwVMPdit*>fO&=ssPJh0@SBb!R+{8rzkw`IFH95TPeXkBmeOZ7=MQ+Yc zg3;WvtzLOSj^n=omM!j{=?BT_m!|z1jcvg!_FRws1?rcpV9Dty)5kzZ%*$mO{>NqJ z@1;U0Hp?bD);q&;<`F-6aL=*v91>_}P}djoOJ`2wMh zm}=}DbY#{)zBlJKsvgc3njwm>edZ5<5A*y1Hl-ol2vxxD#$7I{E7k~Q`YVD3yAf)P z%(M~ew#%+iY~LKCP%J_+BA*?HhZm^?UN*?$_m01T?wm*#ec+lW;%$s=jpz z?GY3Uy3)GHpWc>W@MU%Q*{}aA@vH&3ii*I8=e@o=UGhaT!%ekBT(29Du|QHO?z7<}&-7+Dk480!uBhqL6@j8tOS zxlDI0<<#`zNt9EQ@`~Gi+?WjDrFpr*EHn>Qu;Ycn{#Y~{6$V8T+fII8H4Ct@WhXln z3r9uK=vCOHgUWzo_Dgu)doT#0?=9p-;O{wuZ&Qll8`Yt)es>mu2nBYU<(q!7BxAI~ zP=N@-P$(?FTg69W4M9l2g@YB_Y~}Q&NJM_m1<~2W;upZckfMmzQehs15r>Z4gcE}a z1;&Cxpz>9tiWcGsqWBRTs$6KHt4pGQG8yo~FoC9qQq)p0)p0qXd;?+TDTDlKrjf0A zY@)#KzoC>UcK`(ummZvE{Tt$_S|WrgIMp%K4w6q&h`e>x6!p|<8>!tLdVMayFA+K} zQGpj%QQ&L)j&MHKb%cv3aEnoHIUd6ditFaAkF)dR+~~={x7Jt3$N6N1#jxrPB3Yw; zPZog9#v@;k!G~O#$DJEmr;W00OT`+)-hx`Is7u3A6cM-&UxG%V7T~{RIz~7C*+vv> zI(F?uhmX(kJ0p+?Z?S)*svv-Wkt|i{I<1>)Wg0{+2!SuCLU<`tw{t|(syMZY{$!5e zu%nqMNA6HNuD3kPfLT+=Eq`8fUco+s)i?YTjZJ~WW_qtMjZId~Dg(>yt&v&6cjQab z3^(oYj4AmXj?XCv%3V*dYLBSzpIu>yZ zy}xnt6LL%V9yO2~+;p(|qzlw4B13q#4bm?4#Rv1PhTY&N4}3FD6pVSs(TvaJSVnx2 zTE_-znrzt#AQTpVx+_;I~U?_6Wh5G$|k#J193f7z({#`Prb6hN1fIup7^st-!9mmjf?KS9{vtxj-@@Y!8r? zqo5OW6-DUa0i*Y4LKZ< zPu!xd&p3rk*lXtvq0VbpgWjU3{y~GB4^)tR+F__ZaB7CN-1IDTsQ}866)bjP04p2O zhIeK8`SHi3>RpvZbc7;subBBldyt`YCMbrof-G(l5W15!WN|yYEKIvnd|9a~k3b53 zd#Nf0VFD;3{M`T)ajAQ}k%NHG%*$=_@TLfEHR9=p7+*?UWf`-Jr;i{V743&WOc9h~ z=)O90pN6wSMa4l2>=fD!_0oCzu|iQp#bQZldi@28Z<_d~2(fTE{`+N3U8O3mO3Ms{ zpxnySVdTK~K@dhaEzhDNjv$M8(LRy46;bWyB@Vme6!9+O1}sq)u*ys5J#$s2j)vAa zZ`1tr$KauYPeuo?UHD0?B%%>31Z^U;B9qtto2Y=URL3R}@(p5v3Z4Q-Py@xJ?=P?^ znh5#A9s~b+McMqs{G|AIF+N7jQq+%8jMPW90bdh!`>4z3L5kY*rwNL95>L303se^G zji(vP3_Ym_Jx=Wh&uZV1PJ&gjDrGly^lo-t063Os{p*jp5P92AYO z6plFVQAv>W)<7^H1ubf_9TKGI-HNg{`fdxrdIzdz*hm0v6AD6d-{+5^12$-)bovd< z+5qswU+c3?R@ zOaoV#2nId2c?X%r=iw{HWS(=Um*?~1_wM(vYV+NRN`GaNBwXB6yK@v}shM@YlB*W& z8e^+AL?-txrzxkvSymzR(`b7SxuK}#!0weJ@=H-dlD%SL!Yn;xoVwuq~(8!vo^p&3VjRya7|i(q*WmKI3B(8bb)L6Hm#Qf~MZ zf-n15@;zX*LkNBZ`F+G{<8oW)1p3nFM8H$K{vW8`w7WaLZQ*%!1%h>sz^VY>yN&YY z`{}K`zz2SJ$U}!-7yRYs#rKW9*SFQ#kMAD`^A#D-9F2sptJ^Y&uG=XMflfUGvG48u zK4(4EDBe~%vEivxQxBBQo8A?d{p+W*A1`kQ6ldrQHQ%39M@FwdBb&~2q^;+STpYYU zUY=jq@NfF8z+PNmy83V~3?f(X?R{?S1h1aA714V(2b%<(7xkit2`jxoYJXj2WXg06 zUq=xC{`~s1->8Xi=Yr-Ef80*KogsrjWuvj&{6Znc`Q=0iu-^Z2sVR0%!C zs<~%}h3@=~J&)>j>`)^Z-#V!|H9V@Q8(`I1G=x(j>u(f2bJX}v(mHx>vjl^Z^h%^& zP4%=RqrAPR7NNL#CT6W@RQkY-L{TcuZMj3m|`)nK(e_48_nGkD3)=>{5En-=+Cm3bo!EsIW+7&QN{QS-b4O35z%H zezPamZR2AQznH&BG4Fvc7AE^Uq`nDD>!%7%S2fDqptwlrPlH120LNsr07+Dq`SX7k zoillbPpKqTuf&Yu&RYz94)nRw~?c?b16ZWWC1=8!q>IW)`i#iI9Pu) zJWL6Ym~2Ha>jAc6eMP{cVIHMo)!k?UHRT_T6Z}qnm0EMR5Unye4L$*EcHPop6$rch z5q*Q`f+4}pPw21I@y2hV=ezYcklC(5&EIpPE;-qB{H7klj&^@Z!-LktXq>$g=wLm? za~XGV&%L+p9z1T^B2DPNoVBbBu!Nku=Cl*a#l?z|UK z0X%h8<%g){is!3f_(w05LMyUHCK}pJqN&E3fl31?v?9@@h)@+sQO}8`0a!Lj>!Wp! z_6{<{PPT!QauuO*bg^e6LnmZe4VjYAAA~MIBzno1R zyluX}3pCxj`-IaJ#BloZxg_q0jns3MOH5a0SIn>SSo49Pi>3&ks77I<6_yMRbpm?h za*@%X!#V;7yZHO|R?)vSBjxQ2vI>47DM^W&El9l(SM3V&6&B=HZm;yEFsUax|EQTi z*nS#)5D4R&FBYUNN=pwQIghBCqqtxEsynQ<3dO0R`?q*J)&+`#u5LAb@Du)#Egfj5Q5 zuAB59mmj|K>Bf@rQt*4#of=iQ5OE4wELHapD#7@%1Y?X%Fn}8c+PHIrqL;|^x$5hb z1Y@@|lIq5}aI**>gJS#(EID_>x`ghOx9*>wJ^etGc8HxV8l#qWK$&KNV53f;8Z9g2 zsOtfiuj!_tEbdEC#P0}9ZNmcgRQ`=6J&1XepabWjv~12=kf1PehLMAx=su@7XuNhd zpy1{caUW}(esxCFPez)anjIhh^*Wh5)xOf}dst${Gj>IUuzi9Q+mV{CPVlFu1--mSC_n9J!Td+80uU(%`FKSy z_}Hy9Nnjs~UnBl#QM(rCIjS4`c%}9{yRoGjO*`km@t8flvw3)oNXHkAW+DF+CnAUB zpy{7^kc%qDEm>*_5K}}F;|?#R_;YiRfjhuW0g5OiJ z;eADgNeNW&72cv0eF2{njU9l`MD#*yXDpk44dMA3 zGt+dTaDR}7NHgv=LU4-}VWXXB2`e7&U;Hm4Eccx@xW+?cNHW8POD<9ua~)7Bw3@|H zbm7h?vm;#_qXGvV_;7Z1;=dh^b>3?DkN# z!F)n3EN`!|<*aFpH>MDExk1;k{ajY3k`7bglqPxMUb*ltpkR6V26FuDFnd?pB(gW6 zT#w2j47Owf(RnMyEe~$bwW{Y#K3u!bE@Ji_uNTo9FSXTwaKV6bx z1E>z6(;AUP^dX-}G!cl8EBk;eD~S)N{@^V5>a6e`0YwGbKODJASWpL^irX+qY(W91v!Qv z!P4Y0bAPUvfGE09{d_EB1hiVg7C)HV5m>9VDeiyA{BRUY%D9)?+{>E$2owIt`{I94 z{TAL?lfj4ULYX6lzzoubDYXO@%S-8EZvKz%CC*Fvx_4Kl`>m{g{Z_CrEDgTVkG>bZxoCFk@>ezKyP0AKn{WSA^!OZzCkZ`VUb ze9n6LzYLY@+={1wV0ZVL7awqFxK0wS07y+PFczr(z%hcDYx2!snB2h8s*|&-t?G@g z84EMN3REG<<5ETB?g-4ZH$cJkwuF^Dg><;*wl#b%M~6TI1KJKefaV!xKP{An<~eq& zo*W0$Tje)8(01~BZV9S+hRdLBU^n01K15-cWI-a?!Oe{meM#&u$dSnP|F(?A^tWY* z@&8N9mp;K|(D9SFQf)DLk5&w#QtTog+$G+#*pkGtC?f|rdc=xe!BkVCiNF_#6#70Y zAUb9~iv9X=n6v#E#62atQ(%~}`6I{nm$?B2-3asZ6tnOivBO)BPz59erhm9DyrdZk z+Rul8UzS3stAkLhaA%M0nW<3nlJ;wa4hPzktxTcO(3Y@*->Qzr@&3BXtPDVt&=7<8 zCuBH_2O*fK8w2UMbJMR|-|Ub-h%w^#;@0*+ndmvev7!zh%Ou{0O{&&ClDGDWxRe}* z=4V&zv@n2;I+5z3e2}BAuNmxfHvnd07s;d**bGq*!Xmf1d-pAmV&)6(5AKF@36Cis4`fp4I3VtZJEEw- z(1bhwyQ#^t|7&yVPW{V=|YA4wFjl!m}r}zqBt&tVBjHXzqZ;Z6RyN<-5(#X{ie)5 z7ui3&ULWosBRZb-a>`F`C!(6UIO$eI9IDVPM8cXe4ogAQ;p(d>B$oGKPF1zJT>3Gq zksO*+YCE#_dER@TwY*zCdQOZ7=l>)KnGTa)e*Fz;@9nv&9oe~Pu>`rL0 zNOtL&%0IWY8wlgY3NY91j#Pi^mUur6it#ox#4{$rz(knkj={Mkof)92~o+2943 zL3KRq-KD`-EwHINulxJ-F!Ph5Rl{eYplqQ25^<^$A;an~#KwR0mnMC%46Iw6IpG$7 z3BK$f*Ljd%%8Rx?|G+4Xq>TR^$THkFl~S857+djCVQ~NM)5ZDr9HXX4!%|1gFy-_T zuiXfc>6$?8_5j(gc^_TLhgv0LdZ?FFqdw}XA?lu6jA@b2fXSv35-_vxX>lzU9v9Nl z`qIcjtc@RR7>qKbSnkwItUXP9HpUc9*AE}HU7Bpd>`zSx0d9PBUf;CE%s!Jz^rJs8 z55*a+NJ^ht6gIyQy$EMW?BnWnZJSZxel>LCm13K@~v!$`Q9YpD=b)!-B z;`x9;*(Ewhf{{QWo|zdxSsd`OG(lY_3fXkR)6_&Q<58TS7L!x`N}p!tnGt9-YHS)fnx;IopvziwNI*F!e#ypg_ z6;gj}w@lnPv8#S{^w1fzd;nD`guNVj@6UmsB_$3dv^kR!6yN>yvs-XcoT2lPfQm;& z#bChWgvRqspBGT|D069G`K(LKhd*!q%3_K!!aFSAyJq9~94kjVVHY2TB1P=fQZS5limAsX{ib#IT3%CUV zS)h6K`T89?{+l;NEZZktj_`=MFX`lBHz3(Q`1=mt1fx_4y2#eP>0MR0$awKr<~!&6 zx?IHrUo?aY#1K?`GQKM}9+e+O%X_xs^KHvCz9Z*ZG*2Nf{*nGW)G9*$ct=`-vg+_Z zkC}47`xTLZ?d?+V>2yA1yd%vuy9H`^g~BD~Xjd-l>^5cpfsdFQ zFa7~q)c}C?rADQ-p=7PSui=9vhvPevZhw}s3{M7VRfO=JySOc^GLPT)Jtp;?Rk5nC z;R}a{kEf4BSuOSI7yOyutsZG*%Z^F+#6~h;-A#yE{L<1|(uA}n-A&dOMYNaR$A0bh zXG0=`CpS(}i*>G66vth26m46xtWq_P03Qw0J-n%XnoJU=Y3cS~MC#(~!9lCys+Uqh zoCEU%i?e)%4%Nm+Z95T&oz_m60ps06ty+&#A_vXm-%m1@hsxs@ zexo9HySi!X50EGoF!q%5YP%K9|ALA@hG1mH#T@C+KPQ;1ZjLV%pWbQrbD}0n@YjzO z|M{S-Xk4BhymkpAoQX=mvvZ9nk3TV8is{boFJ4~OkLZi_$4}dORY_)Lng{Dt|MmV?VA+p}H5wUq$&&6Vjv_V4pOk@9U z#GJ38Quo_ES`jS$damhj%|qu;*96Bjvjv}K?Yz%2v77uBI$*!@N03mGd&%GIYz8-a zHw42tL-BY1*ywm?JU*oVAuM9-aq@PP)En6q_hvFPgdr~7fM#Uqg$bfqOJ7Z1$tY@m zkPktNQR2=`J4ZwA&MdN=sScPBYfwG~0hVrrk^*!2XEb$(*o@NNHX?iyd&St7PhG`Q z95+`e#~XS)DCYlMx;Y3Y6+CxNMyAN$YmyD9=Yth%Lf3fYHr*y^_$w22FU-sM^&50~ zRz5xx7*Fe5R*%z`(m!7Z-a>u3)-=WjSSP9*S&#==K-=D6Oe~RKF`cwB@&7!1_9?DZ z3+;Lyne*!zU(BH=E#9Q(ZPFWjkicfkh97*JMn{_G_CCl60-B27)e(`Ol`b7ZU9kF; zXeCKD%G45$6mP>r+e0n;j-!{Am-{#8k5=9Dwdna2#OcMU`r-;*z8x%cB6{@tlted>}dF)vmon44;_=ROFw7ix7Q7WXMp^M?-XFp>8k!DwQR^Bp1!sLy425 z+;PjW^p}i%v6G{!3AAJhx9opGIh|*+5qMp)IUV+VB)gJ0IE;C<$GEs-e?@&H+jv90 zcxci>lH&66=~k_`HanK-7fuBxz6`pHIs@ zR?XCp%D%7KhPyKU_TBQS;y`wGoy{)=rvk$O4IlE$|2U$hm02d6D#?-67er=`eN(j{ zuJ0K!~#>Z`W%=E;s7=RD>_0V%ZnLV8jm9RwmyE8Gl}AB{5RqWt6hxc z<~1~!D12!=JMyRlL^X$Iazsw+Xgj18#$aHsJ#jC$FYv|pH%Ml{QGM>FA2AH+U8B;M zdJ9b&3K@F(IFvV}xE!tYRt1m)xCw(4wO>0BzdzTu0+`z?ze8tuo`7pyAJ6NV^VJ)k$6M|D5%EH*v~5YuR~Q41CSQ4m9o9Uc%bxj;!_^!hgA?IIy-(+sQRUW) zdoz!%n{{I)HOZ(fG^V^jFX1hvyDz2BO$8D`!BCmxC6aqy&lS;KJbK6Y+f<^a86Jy{u$QY2mGu0jfeU+T2<{C zt!x&g^kFo_m|NOlh=K5sL$n`&nvA(d32xvRF-WowGPgBUWrMY>L~xQHay=#Y3qG(k zk5-EdPidk@#ncj+90*m9}Ju1efovcaSvFcu!m26z^QNpT+i5 zKxldT@xd#P@+*%Na4GMr{RpkKYXjh2c#MGSdSsNH`p`4d?&O8@RgE;-u*S`08tE=Sd~0nZVC&gISDp!E2!p-6h@v8O({qf3<*6`^nMWM0XSC~nb|&SsxJ+= z6Ff4R&n|avZd&nL<^7I|5`MW)O20_;b~y7*2TaZ3`p!5;kiFLCeg9b$lb z%BmhBLzV%tZ^EzK$Hntm8V{7zpQeY$rXJ!(l@dx^!jxIyQvG}Z8WxFEMHEtqvpkuA z2!cta8G7ML#GM1%5zdeO*h`>vK({MJ#zt7W8C-BKFq)9id%l3=&xZF?@3Cl;zZCZ^iE(jvB>&%P127!ac`rH+dmvlAvH z%Ln|R$uT=}k?KRmt&YItc{bg)8XpXgAgE^;?l*z^Jxd@vTs4+EAMdas!>>WMlQdX; zj&#)7CKwX87o{s@J1|EuqW<11PP|Js)gu%S9sygaAeIhIO-4udmc>=4YoTuJt}$ZV>$3>mplre;p^?_ycbSo` zFV9d)7Gw7Y2oTbtc`Q8_-5AU&$r^(S02i64JklH+{zxG`7|9t=>R7-SU2NcBH7fwu z#a!tsP88A_C%?2M(x!mT91$UuLvb9) z-cyZCnJnw_=#)I0*d1L5y2-*;nYBNa#w;%l8NvmN{^!enT8P5^*;cMsQRX@D6Ct-J z-Z`?ePnoO91HJ1dqg*6?s0GV>&z1lJQ4-2{q%etCC!E)PDk@sWEzJ!T?d@1ysObyAcFJ(oZ=M4p>P4btZe;%e37GX zH?|oTiESA|(U}*yaOIWm# z9nj>kog|~*DoiGjN(ego;B#E?V;-!~>4Ck*5HgWb(<1S7?^ydsH^X%Pb3t${j5JpS zW%|dM7?zw#-&I|a%Eb_5SvO2J2kLL#x1=J2|07){CZB z4D;6sO4dweb%PoEJSZWHsU%n~<%fkJa<0TETbOOlG?`0}v2PLtV52NaP@okp^3)yw zmvpx@F+g}PcN|MDpJ$((K1W;wda~yVT{LIoo-(m+<2ciWSJ&d5w<57R+Lg|(*#8q5 z!4%sRZx5>YATR1{VZz0v)*R8G*_}8%Vw_Op^wH~sLwVR7yIT8kJUZ#Lp_zRqyP3Ty z*TPO9>+SbFOQYaPPcb4vVDhvO3*H^Kn2Vj%vXDM}E##8n09)84qyhYSzeCS*#j%$PSH#zYtijS zR)7Ui9=BIwzndNOAfU>W+#f4>9yl$*3Yt3@C8~EBTW|DK&Z`$J%@<`dk#MjtEz@+L*~D5bKEWNavS6yXUWD z$nFqyZb6n(-WVMiU|=4c|!{aM=+6iY~7BoGez)QP00qjNeq_6iQ(gN z1L+{@QFxWc>{$Aq3NF(EGQ|~P{SJP3mIeFqrFQoUE3X3W#YfbM5&VwvZ%Wr{w9A-GqV0kEMg+E z;*0o>i*IS=7-|&d#KN_Z>Vq(hcj!~e{Ngv5YeyQe6oWvj#)9)%7~To_cePn1?yFd>*b3}M+m7vAkpkv$}iozHuU(jbx`fEWxAmX{YW zP?oUoTuZ55Al6sZ3s%W-?_VAeQGsSDEctw!IZ%UH#OMx9I>mbWp?dRKSUV+h(Q@j3 zRh=*+sJwn(i+BTSrs{e$vXi;J?7&06fR6gGE9kettgGNT#V9@ib_kSIGX{k81_6vT zzCb@zGVt^03)HZH7z{BO3L*;(v2?V*A642AE*&VCy$2)Yj&T~~PVABn%?>~)D1{|@ z&#K(Q8(TnpM2LL0lSN`Hz6K2@7KM+hp$L{79JTe9fj3HClRt_lLq`sx%5MQh7pclz z9#a#%YP82|NYk+uEvbs*5?ZqgCG;LB7RWY62d0SD;fO4%OdxS>$4Vdy#Zj7?{-EI7 z6=xI#tE5nr7=re9A}~|rLE7zDOn`e|wRqT->w2kq@OhbP*=Fe6R6E`HNK}V)qhAKC zfz*ZX#5z#E(%fo7sD}mqJ2n>H*qNNupgZ=mkz=|RdaE~kVPN&foAHu)(ZCj`M{igB zI2Y^GK7*?z+y43T5qauSj81h+S;UT1sj@HZC^C&3RlyDql!^<3_qt=WM>vrO4L7nr z?hyu64XMgOBR%k2it|%Bq!-oT9~d>Via@JH64^^G%o$V*1z`Ze7AcnU!iHpcgj2jH zCpRv4NQgQtPtV+<6+M3d9=c4gFiA;cz5&tIk(-E6-zsq9O3K^f*fi9x%_LIEd?Rhf z^Kw$CDHJqCEBa4b-Z-?@lr#kWWBXcsqLn0H6mh zkt<31;fYiYJkkeDQmK8z`Zyy;cq@MH7I$A*}_1Bug;2OP;vVd?|vKDh+iA9 ztu=bc)`(7sih@FiBbE=n(!rzzJ-OZ^$l0%AO;$~ zcxQ`Dk1s9$Czd>W@+k8-L`SLN#6UUfUoYnS>%}9gzsvrt7zgXo{?ubZmd!3%_^8+$ z4sPYgt=T5bk+kLWmoGfTZPZkn^n^e5E57tykw+VfMN0%1ZzKd2-@}Cv2Mo{Q#6{&V zonMa9!VU|_{I~O#`AP0p0$8~NOaukLTo(Ce(lz+vqjiuAM)yBRk$yo_ansn9TqrJI zaJ?P~#8+XFqj!X0c%tzGf&CT0qLr?|g5n1xE38jIvQp}};=c8bHJ3x-Q~#K0B?nO2 zFqfTPb2@#y4x{U+U_Ovp!HB6Y*Qjj%0w&=NFrJ07 ztq)-cW&V9WCp9ET0Ftes(GFr5S?dUzRhyJnGvYyBOrJ09-iGBPPy?)+s%Lw$ z?$hhm6BhrMxmYINx%tx>A9*1h zMyvpCy|7z+e{mbQ{x>PFM8v(UkhfLlfBC{YI~zsiwoBjEfjFg=)OlTZ2Os|s_dWm4 z2kmD1St@v&_w&r$ckEYya4x-{ofzF)8qqxV&cdJCyk;BP_1v ziBHbDcA{aAN`-9o*+ceSz?CfKS~T5uAu+G|RT&BU_Wx>-thDqbnJsp7cUs8oa$Mik%LT z*>J^`g5i1aR=#+q1{$^uhgw8`h}%q&z+2FZaY3RqYo_#Y`Df^PQm8e`&;Op`Xi*!t zPWhLA3B3Jy8Sk?b4R^!5rrDV%;VDYfF}*(NU0>psN1jgbWY2}3E-+3XY*9Okd(mSV zlqN-cq49AFkIw~~kyH3dV@jhJp0%7_79%&@%dxeOIPOc z$yB8X$2g8t{H5=FN<J2Q1zP@ZW0;@@TaN*lY-K-suzX3jxT*yX_RR(`EVO?Zdzy z&Wx8H00^I8_ejtZV?zW9{Ut28zYlfZpnyXc_rE8aE{s75vfzRUf)PvX^Mer6U*6(~ zj{sil@l75il>d~&qWr`ifd)v9GsTv>>dFjNFhQ)c zA^~?;cCpJ0GU;l|oJ9ayu~s*Hj+N-JY@(9+McRz_KQkl&>z^cKklVh62G*n0zF$KZ zV|I-{rJ7xv`&iK|=NIxYo0{SBm3?*1Xy+-xVVCkm?reE^=EbjB^;ki~u$o&eU z)+Df88ktkf1Sv?xVAEiXN!<#Qcg@FX(c?a^g~lXFP=gYK#_}qGjGSHCx1#FY0Kkso z7yXpE|6;qLt3AdEzp zR-DX@mg1Ep=pT3`ltwQ{gB#nM<+`2bHFIPBd-?2!)C{pP`057Na-t7J*gBVk+d|<} zQ=PlOv`vs?dYPT8zcRe9(h@rM7X9C6-V^lW^b3w#h> z^uKruY`o;4&AM;C+(xboe6XMI%q&bbgoPY;Ut>JYgPDe3x=5AKX4U;D?6{5oxIz%U zHtBQi@Ic<8GYV(V07fI|rnoT!j}Zb2c2sVe>{M>1iDg@5?aMWd?BuP0#O}Y%_F?e9h+TMl<~LV)y6$6g5FOe^ zs_9SD!c`>GH*AVv^?&2MBj~#qxtge{u#?esQ{e9{n1NuQQcGrZDS(!Qlg8JTE8a5vUrxgU&vU1+B2J7cn=h!=#~ z0<#O725mJq+mbboX?QBEb4d7+COMf85oWTtEQapINC{BU5TVr?@zri7!2f3g!+--KY5XW{0B!y`f;qMCn=!MXy)w9UYIg9aa4R36j{%=$3-M{uB&*!{F#^*mK{~R3|I(hTMXTqf-%FauZn0mni8s{*dHD| zo2o%W>Pp9QY6eb{h5$n17hB*!G~7UvaJ0pSTvs z0n_`W`hBrvdl3mg3g0c(J@%4o3YnH98JjosTz34lL_CItFKU&9FRD9~AL^(gi#R|ydoL?!H;3xKAV6YN zGI4w#;VT#@cUKCSL;X0IgX9?lmP34LzYM;_4F_<^+LF*gFoVt}W=KvkDP7i@;#~^he z01W;CfQa~|EN{AW3%+oPOkgpfTE!o8-63EI(fD+-x&Ac8ys0<_xW|{GH8b`&dfVA5 zSO0^}0h83$f*xMt*MS~O3)({dd8@hC+HbYr9l-{EEtxLEPHU^Vvr=-*`blfy|Iqc$ z!I5^+zi%|*#C9gOZQFJy6K7)EoY+n#wr$&**tU&6nfG^2-E-^Kt^G$=KUH1*tkvsT zd+%QR`&riio@mHmh4!O0->vuYkFBiF+vnk{u0>b1MuwgbAIJK)wZDW{pCx4oAdPPs z9M$@KpPsk~zMWUh)ny(}`GLTOx2u-+29>_&fb~j(7_}iohF{RHs+>z0&T8UpFalt1 z;bYEk-`Yq^b~;qf9h~UBLv~0*p^(=`&rg6p{3FL_8vjlwQ#whs;~|%az^F?mue`2G zsTn7nla4886GzUOP|-+D=Q+MVP&8eiZ$0cT!nYc8Lrpk{(dAMZI@0xyVr8M=)q4ei z*1j%$D;xp`t|N1OK4s*W>TY?zb+~_F9Lm=a8x5;0Qe&p^egCp{KJ+pZ>HrOR>(}_q z_Fjm&X9LT#%<#W7y32`m7 zb6aEa!t}!g>T->Nr{SMk5MZkwb2jZ-tN~9GsEjDvJF=i8dC^u{9*b$z2=VVgqz+u% zq|7f)5chFk&Q};j!0Fk7i1+XdX~EXh=h)uI5u9g3>Bi&UVA0p{Xv#YUS0Sr@z76Vt z?Y$8!tHwt5#}n%~%O2sCyv0J@mE2R~# zZ~V?<+1^o;2C2qYVG@A0V^uId-hi0WP%vq^y3nI#BSm|XL54zOrbcTfmQI$j@p?d4 zcwXLDX0f?9N2T$S6A~Y`4{>dAHZktBn7Yr+vvs^+8Y-p8;78wvV<7_ttK@}0cg6+be zE&Mc3*x~+vE9tK<_r8%TR(Q_CrmnBlru)u}i`#ly@NtOiZv~@=Up%L|`LHfcPdw%G z__}NYTws&it}6o-t0tN@py}>x0j>+U}K8US+4&YR(MrxOA^p zcZ^m%muG8oAKo90%`>aSjEIzOu%eRk=<%Jqxa8B$>*i=QY9{SqKVaGaH%aE0D| z>_hR2oR#=nHf!_kHBkTutzHN!%z~Voo&;5EBTE-y&X~-xVR`4>o{3Epg7v(>OHSqa zxDuR!PW&l1Vct+mAFIJ6C&W7gD;V>Bg@WY=pc9i$zDp7%(bmN}+t9tqgKN6urG991 zexTZOc1t1b6X_$%L{@vEPYDOF5V<02@-{dwdd?hemz5LB#s{+l0m^=VQ&!m2iZ87K zrQ|?>2|jy42b%Y$AX;>Sgu)GBYJ3MICekSLJa@c}U)N$vDOt8>ltAQIgeZmblexCQ zc0hw;BV!B_fznQ%;y8xfDip`jO;4Xwnbcm{-R5)VS82A-Q=$6Z_#9OUfRb37Q#pu4 zj8oaTeX%ob7=7sfCu*>x(MrF`UY=`C3LKl{H+OO>i+V8i-{rUZn066vywu-)*2(mU zmolzvl!hTDfbRb39=&CU_mcbS@#it`{)3XDVM1SB&3Dr9AT&CF3ezTWn8beQ4yGn6 zcPkY5A2^|XxEFy{yw@{o=g#locQB(~gaKF&_6Ba(!j`n4$C(56+h9sj?vf)!*_*@o zOT4*K)oioQv0xhpV3!_3-<-v6pn}clm%I9DE1}RLowTi90g7ajD{kqyC;p0U4wkff zs&bTAJm&y}3Re3UY$!`Q`WZd`@7bMzE&q>CFc@p(U`<>Hs4WD?ZS^MNq>gX~rLg1~ zu+HBYSl0$n@WwZ+fe@o zD|^sNo0hnQvbxn%6S&CJ*>y^|F*gV<@CPRz;wmrwNnzMGMh_U2)L1bsPaUOpsglkr zBc{ulP$$4%5Q>bIy?2g)9P?LcUEI!RvJjvT$`cGaiX*)6*N+6H{uMHFyKo^F8?YGyz&WREvdQDR@b zR>B2~B_!pNA3-z?&3NCAEy!qqk12z-thpxJu`Cv(Xkk{XjTe>v&4pX14ORJ#$e*>X z(Ap;%n$BrYtSA3p?QB3$3x!$-V*H*h1!^KOR%^Sp+s1c)&n<`c(*1%)+bJ}>DS#9h zawlJ#5!W@sR~>rhFUR09XeM|bJgn^WHN_2*dpp05R}3~w@OOjfz!>tt*xwn4>knNg zZKr}8Jj;gF;uZW8!PNH8=4`Y42mwn-#BN)T&GHRsuGY)QJ*gpO_`bsJMGkT6JUSgz zQnhR2wXwHCX~_pXd=ew=cmSWvL5?LR;u{xn>`DaxyX#;&*WHsM4K109=CTQgYl|&g z->7fKTx>{O=u=vdFEs5t+|nz%M!@(-ozG_Lp%wp1`J2}dvC9!MQfB_(`n9WNch*8wLw-g^JzN+5u34y znT5|p8NlH~*`VxHTnD2M+ngw^GT3MhubB8JnBVEWQU^_i`jz=7@+g=sV?(aG7#S(( zYAtQYEvEu?9n@gAyk`SALHn#hGNHG`xA{2D0ul!YzHfOe!KJRJ)cuE7&wdDDj}tLGE-%Aw6h|LYSbg^lHp-S0oK zh+*QflHbHcH1|RB$yoJItquo%G%fO+xN>ux222m%1y7ar>@_&)!mm>#IZVtQ;HQtt zYuaG#^nG;-WxvC49PjtVeu1G5{YgmA)L5pBnU)th(-g;f2J@HeN{&T?8xP~n`d)d4 zz&1UdDoV>w%Y4!=dLq^(-GOiF7qe-g{V~ zjgrS1aS}(F)7l7@kS4v}5+gcgJs(>S3AFLhk2AU+&1ga4)6ptH#=&{U!cvr-DU4m^``kYz4e96*q}$ znnf-e{uiivwzT<&yjbQbsk|5!PA!%6to=_)u{U%{a=bria_Mx;%(VXS6V6v%KIGVG z`OCg7!1wC6#ip{)Ru4^pK*tIITMG5FZk_9KEwZcBl&%$QkvS_^)KEOja%LK_3a_)hZvDm0BSVwX5Quss_YA{7k zW;qO}%*Oj?N!w)CX$X7vxrm>7!%ab0Zq#tKAoC80HE+R6U#_2sp;JDDZp^xf9pAP` zL0Ip@HBGD?AIieE$MO_@6%=>a?0B$#6+Mr6psF1De|H^L1p9UGy1LGg++kc&Thmjsgx?>mmqvOGT{fvVmM0B>4++YUJvdy0ZC~{7OIw-=Tc4Cqk@JS z$qlyRXNy-}oLN=Ly&Mi%K+JUf$0#%OjZ` z+~E8msSM7E4KaTX3S~|^-`;2Cr)Lv^yuX%?M&3{#=;GWXuibSQ^L)Zwl#LVTj^Dl- znrN^|W9>}{p4s7PO2Ta&H;d&dA~7gS<8aFkIc>6a?%X=w>QueYD{7)PFO!gc$ch;r z=bGKZnPC09s)l*QMXeKmGd*@QtD+U{LVqvVD3qhaMuZhBub1%!_20`(lHegG$YI=1 z0!%A>)RABtE}fSo(q4v)LX9sKlN7qQ`d}4&_!?b`BV3>Y-5;B7j!_K;fZ|xaV(7$v z0=Y@bZA%fFxQvt_m*ePxtW#=U|AGq>wymCSs71W!{ohunXatRI7QnPq=ZNM0bZ)F9 zx1m_jTvjALf5)4q+Lzo@OdVV6U`oO6gU^A5ykR?EWnVctD7Oe?4VBs5)VQ9wMS@_!iYyj(75Y4|yA#h%pe;Y*+p$P-{PcVRJ z3(deXgPfRu3rBWDG5@hKgKzo+Pg`ggB2)5nzqV!z4Sci^FFjhEcLo+^1~&c^o$%)j ztZ)`rouf!5F;DTvvt8+V<~B-gPmO0U-c>P(ew1B=nk^1`Ygpgel4wZ}rY2_m3p^~G zY$mFiH0u&f8@(5q6Mh?lUTBp>iQv+j>Yp>r`3HYnk-_YUA&eNN*dDWjImFzCm^q){ zSkiAk-L3(u7;N~wZpl~HDZVV@Fi znyj$bHQRE z+&YKSw;UEa4VG>7XhW>oaZ| zYYJlxA zFv}#E?>{CCG+`XQA)G3#1JPURLix|_B1d5AdiXfrb4tP3lcasd@ryD$nV zTSYA?6Q`#e8&G4ddLjAT9f;YhoxS4UbbYow`k$^q&PKO5sKka}@CzDDnjn0OOUa;R z|D9>qhq$xPEwe82u4#jRN5=og2;@bsn$)aqSAv^L-A3LDgH1I9DuaHGv%#Rzh)H4( z4*JD`vD10j$?`8Pl6Iz~WV4~v(StYLkt^qOX;}%VWl@pQ5em(OlJbS8Ts`J2>06(+ zpLqaNB(7zrJVn(M1A`f0IP5Ih0%%mwX{2O-BUWFVQd{SOkRtuIOVO}^7K4X%uf2u- zcRG=)=CGK;%F=j&4RgYd2)YQZM#Ju@|u=)ABpX1{y!@+9 z`Q7avs=0hpf^0+dZURWT8RVbsSt9p6r>+O;D zfK1xG=vs*#s~CqELeaz@4A?zx-WuC4(C?CC+?PMeq!_QP7ab1jY#5L*@{_fj@E^Ih zK&tm(UKXzWr;V01-Z60Cl1xaNnEe^Lw>8@4>tQdpXn-7YBTV<7Fgp7G2&2t|kbKPl zk1+a>$;%@vG&@!}$A*LJi_~)~7XL@)6>xMk&9E_;HyzS|8H1FH)r;Nks94TNpDIXF1y#j3_}iXGP$JtQKxsOUS;c4iWs^6k2!-EiJ8yZG%~asUS}w zce+saY~h!7Q07ICw;)e+xy4!$;Gt?z?SsyTz&>kj|H94*0HN^o>CJn0CW)x3K_$VMGL^D19 zxtT(2xi(f7cH;uADhX_nLf13%i;?;U)NkZyPx6x7PfYK&B_r_YjwvLNRPlXr=6;$P z`D(6SmlkebeG+WCwJCjgzRGnyM9VzylZ{U`E3e;|jb^P8vjnVi$^XpOqE9t4JJeKB zkdg%d&MrY}YFwjI>xnC=+`Vczld&lG1Xg#+;PFL(PZ?a2R0~*%v9>K943$ARCY;|e zHmL&+C43dAzTgbFwPWlKcZ87GNEycECpbatCIqr%Jj}(R*GEDfp2Olb9%t!e1X>3% z&&-_nmTg!r04oj!u)_BXcJ&BcXpTk6eICWA(U&DC+a_D-RbN6j(lktj>ipFj-k5Cv zxUQc>m$mmGTRJN>{Hu|M{VkB8`A{l4T=}hBy=TagWcX5$hNPiCtU#EAV>q2^>`73! zy|)0kw{Af9cureE`OZO?zya$_>3TQo3|VCRbxBn#rCM)nk@T_(F&N9~o_a!%PnY zMpW;vcT+|%zIR!qV9RW{aOpFHnl{2wKW9JO$MWa;^etvr-aGO}$^N;$4@=+b;fJH6 zm}x5oUv&2<^z+q1=@+b5pxM=i2Z>a4!{plwy31(SviP)tE0nn)SdlBvafSklbmf^K z1`QRmLHs#sx$46ehl26J4}?n_TVqX8UdWO*wJgJ(9h=A1*$uL5Dj6J^`Js&#HAtFi zJ2#spAymHUleob5#UuBci==`+v@rfg4q@W5kK~LUjWWI!!SnWV6Z$|PilC5fmsRDp#-Ukb03HqQ%X?w;SP zElwGo+UZB645Ne1N)wuLgt`)_>*LLfxu};nG8#OY5Obof4YFak`3cl%CF5jG2+bhe zC~_HNHDrBN(Drw7=>vZX(^%4&WH?N?MgFpVgNa`z`fc%H<@@%~zgV!4UxiFMa}Wx9 z)OWmAXv;AzGwm>6=;JXKndq14{1{ir5!dMcj$iewYN^a#^H--Q!`Zz83^xTPFt5Wsgw760{5iYZc!>i?va64Vo@h6GJ{3gqqD2<+c{J?_1mbN$l|Y$dtC)|RS7Wo z3N|2BjsxRqwSkMo+Ssl(OEOt9+sgH&FsQ|7WvinazvHjlGeR;*$Z@YBASd&M&0pZxV2Epq{tS`UgvkVg?}vG~uIL}Qf1?9+l5J^_O8io0>Rx(Yt`TRP`@?X@;!>|Tkx3-pF}EZ;MArB;g@ zH~Sh;U5N%UTY`oL_q2E%Y|dS8bbY=r^K$#)ZXtKY9bHMa{|rG*=gMu3 zkk{Y(xZ9%$;md7RDt1v-DRR#*NL{Q;lqluyC(=!u8&M_KGb}ibFQ#oR+f_?U40oiI z(!c&i2?0C%cnU))Dh+eCt3w>bqREKn5)B*iP2@*<>ZJ0IxiRl6z`Ra+ZZ8qrdm9;* z;b}+E!S4~q9}X5MdtNOjEXJiwuP>6JX%msndf(b)qnI2He=ag$cm)*!8V!pFm zrfu1uMJe7}VbYqf<@LOqqHJ?7ZT%4FS$B%m^Pyn(aSH@5S@*Dj_aO4g^VWIUoLQPk zEP3Vc37)~ed0JSACeZ}2lYMMnv3s{EbF^Np^_MHZ&_;zjEp-FtF<;0oxCu1AeqL#1 znR>=ht_7wYMkrA7CSNyX9D+6oU^U5zO#Bj>2Kyu^QX24A2>wb4!0<64vTJOg0@o|8 z_3HVRStVz$hPX1TT16Pc1YCM-{YLC5>7D6DVjCWdp8#M-ya2x2dp6Gx6)yvB8_>U&?E;^}z8#;x z8o$s&7M^j_<40>cS0^_YZM{N6m<-oab^jC4Ssb=~3l6@6h@k+wZd$@-;F9+jM)mF5};h}`Ses8;TkxOY?MV%HMt{oc zSrm*BO=`rPE`Im9L}$bsGL#4E>-#k8E8TijcpjpkyG|vlPRL}7`xu3GHrL?F~x{$S*e1fPwN@< ziOh3>@X7cMlfwG=U3*A({n~TF^!VD|8RD-1Hkqonf=l#+s+skaC7p=^4Y+Q$;Kk)j zSnJKuq@b5Zg~Rjq_3ne}3tO(W%SB`ooBn=1k2*Th2IGr9onf8skmk=fb&o5+Rd=S% zu`Ck?3XeVAFws2Yv$b#l*NkR>C<##?@UJbs&K2b>@stjH$|`Wq7_}+H zp!{b1;W7u%jeaU$8mJfPigM1DWL`{@`m>}f?F`2zzq92z5g}ogy`4(Ef9h_V0{C)R z64Dl>+%_)n>s{S!2GDLC|T>Qw|?YvgxYwy zD)|CSbx8_&X~QyX^ERTz@u|Jr9K!j`SPphVz7)76nZE}Om@f-srRrenfhMZL$yoI` z;+Y5AKD;6Ya6fo^lghLKTCm*cF4sx6raHG#zrO%U4NRbow@W@$ZHTi2N3*D>%33}RSqzyT0iPduRibckv6^#xY0{v`9D8dqbdNY_kHA@7D`+81>rEf6NeJ`4b{u!VxK(*Gb znwwXsy+0rQyf<^X4_pYeR<=cVgWJsR+7E@J;v+?+N1@yJkO$h6rl8qnF_WQ{((ad6 zrrj%dlc_Dd^yN3lQkT8havdaQc1#1N;fBryR4PgjsKtlJRTlFP7yE4G4A}-h%($Q; zmeWjY9clGc)NHD}c+c^Sjx_hmY8+{2rfQu^_(!?%Y~L;AMezuX%QaHaT8)|XNYF&G z*3_%#3x;oeU%KYcDne^Ez^vM9lfNQWk_L;*KP_;sFoO+VW?^w1>2Bv5wB0V1!SGDbgGrJEWid|Q2KrbFiu@L$8MwYX5)2VFgfQid2 zPR1r#jJiG`Nl7wH-k>o5#692kY-VG5)9>=&`7@i?0=jA%(a$60g(xkWohC8+7`g*r z?l#FRLOMH;S7Kwv>)I(?c9%C)1D1)&(hMPfPjWq3;|+hGbLLMv z(__BSE1tw(3&;nq=)d%6%y^BmBX+EoG6LAqA$`x)!|1lmcqc3hAx3D}(Hyna0z2uB zRcjcjj#Xkuy2WOt#;z!?m#$7>*>J&5dFu5J{E=#{UzDN*`zS~#%_E(350T;lVkRuM zNKUBe^Y@YVz~>rJZts(f71;da3b6x-Gyb3gCHXlqvXvA5tk85U27$kn4i~7+rwjRE zY@nkrT-9Ndyn{tj<{ko?Y&(##cL=}%5{;Y?x=>WwuVRaF&2ka+N$t-qS8`N!=r{VE z1A+KYq+bo!1N`cXC-ylPe!wjEF{*5vQJE~4(Sc@3(@U9{&4rHalxj3@9n6eq6>c&W z3%z2;L+Lvob2?%<<21$x!JnZ5^>1oT3W2i{ef?6L;)MAzv(+!6MD|s&%b~LZ^^*^+ zor}8%7YQC(DHs zIh#atCwo|aaNF4*&2#EEsUGk-J{-EQn_ych1pX4Q zaS)UysF`r7duI&1FT17|*>^dfIPi#NOYhGzApKpz^APWzw z*P@iBz;i1o`+^x%$E1-_Q!4kUKA=(qqEBJ$=?$5GtDUkcmV39Hgp8EEmQLww6^+)> zmYZnzo6O!cOblfqE*Kq7LD_#`OZynj!D4)8vPjJ8m(8>ab#8F-u3}0~j!)*wfS1J} zFHf#As#~4s3C&p|bH_o?w?CP35H3(W-I9haRJ)YQ-7n{*N-WBW7yc0}4Et493=^P! z{=4#;U!VxKOGSmIOj)4#Jt271gV3}EO}Y|Ob3Mq*O?T$E7k69Ldo+5nn|6*BRP2PP z!n`p+p6fa3*5SI`zbX(=ewTdO&v42j6k?|LOZBmI%JI>LV{LA`67Kr9z zM(n3=l`$=$%PE&^r7{J@vygb$!Qp%{K9tU?djb3Wz1_XuG&!4-#fqMtlkAVSA9UrJ6qE&9Y5b#f)kK1Eif zWtggRv~H28(0?I2{rT|%$nX@wxnlEudAIj&iMhX^KT1y_ZMnqhccjLa@|YhSb!@J? zov+YIf5oczBt{+j_}t>*|CK^9=k=G~dOuigtKyy&1EzT)Mn?1Q@=BrgljoNvRgLGJ zfCO2;udeRtI$ArPZ#n=EwVPtIt@-9y-}|L zc)>nA&bVheuAD^3>tl}{nptNjd_9S!UoC&migjlm%1=CuDyw`pPoH`h{6&q1&W%0c zoVlpcMgi3C9X5RQ^9FLy(F^0$8($l#e5lV!x}&zp{%-(OdL(CXJ`&q|1QzJ$%O z_J(Amo=$#_%J!m&EPYgqF8z0N)jI)IISxWg)kSA?-o|NZH5H$X)b0I+T&PTV}s23=W#?>675($>_7PyB#iyTZ!T#{Th6@ zz;DISa+BKO7A?`0qlBAiRU-Y;U>AEwS+z|E zJTKaNHhVQJ2upfPY>P_CaYm z&<&`?uuW)>$G&IAY%)0~qbFx0dL5TedHY6tCC2br9Dh_q3)mX`UhqFKLHte#{x$OV zLVXBH*fI>qf2->p51#M{@@jYkrcY1((>;WZ^~y zs&n$#a67K<>q@Ek95Mo*Gy7Ol}Jvr^BgB$qRl?2|@ifL!rl;fS=-zX~4-6%r7qP;{u z_tXwTbM8!Lb5!X^3d3GW>?eAec zh{fK;VeZ988&nDIY@jt0k z!Gbr5aQ?fCU}8=iZ_;0n#jx|B^Tn{U^RODmoa@DeUXd;Htw(#Z8H6<@FChXG3%uxV z#2q#npJDn+lPn)RqnH*?vsj*?`#h^taoGM}(yz zD`I4dv;-+&q+W?KkWT{D#S0Km2`FH+roqvqyrI$TI|U^PlB{smV!RA)v9zB2*uP?UA;RKl_i^$hAW1_k=w z5Q+a>ip_Kl{yqZv?;YPkTyj1bH@7UkJcuoq73WC@2#(0An<8zO7xv)pE8*b;VbqU{ z^O=VsikXKF%y}&3q2M8;QNM>qVjK~iw|bpP?K~bYiFxP){jtuK>f-fZn+~?^I`Yjr zV}hXcel%APASnkRn3VBDkZ31fWR&suYgBoXugN-I#53Pnf0;p~FY-kzsQ%wpRx2!g z<2?tFB&9>x9-$%zB8*wh}wSR$rk!m=Ig-(g2qf|5wg37F7nJ^r*lD7ar99Nqu+PHG3@ z6Tb{1(4#=kuub9rRe=8~9jlo@yr#$24FA4KpUE?p##Xg73BbrOxLaZvm(XGRC~(i2 z+UUPM`$#cSvo`bkpHwq+LqTG*mxng;GZ~|W45&)R%UVNvupRanMk3xCCVmR zzwDSRX|K4t>9MMz03PG^HKu3g^L0`CoA-2$4>2v{AV zkW)dX$i>^}xx#>Z_$I({`c{h#t31cph{POXe&T8Ow7e6>=BZPx3nK5wV(0{7h7X!q z*|QSszj-j7^8{0wFW@qIwYVce8rf4&HR~_s%$gT88%}szqg#nl!e_a~#=X!LZ71eZ z1q}k`=M;qiQc40s`b`k+gEd(r+j61es~hJ|>{HhIlk*Gn5Ttr>86$tZ;z zi@rGNXfT>LvaeQI&@aMG=z0^hqQ>!hR>X0&aR7f;ibw{p-A$km9F^9iMD}>E8aH@Zg6vF1yS2 z~i}!^464ck) zB2vfMrP9W`$`Ul9VSLte1m9!HL^QmjD%aym2=TtOOwV)b?YacQ4Io9-Bx!IJ3+|HsNY2>`AuEdB{#1lOlfvFMS1j1iZW=PXy=$UyO+M#olRDMCB`S4% zVUFj15RlF4wqCh8y-QKoNbKZ@o0aS$dRZK6rnnu8KVZU{3u4N_`=+8?%jaR3?y{PM zZX$e}-u&)PNN`?o(a`I;1~0#bV+GsBUE$^ZZMdHt$JRuIb@N3!@1|fYdN!P>80xnl z@k(`!KXJ=`%l?w{C^~52x5rTxhxxqm+5~*}@uoiZ3TG@FmpeN7-LnX{LVn}A7Y-Y~ z_OS{%@MlL|&TWd&`Ry@?_x=A8hAytpX-Cy+x9suglqE{dP}W10NJZ4W&90!-L~QD) zr+4JQ_mhnX3PEJW{c{+_0&l+pS1~4}6FqMFk;{1fADzM;!S~X85&k)N@_{s{*9qfr z&r;h+KiV@uvHZ^ype}6H0I9n+D2y z5d298Q<3X3)*7+g#^Z#V@^=gmgg9c(0YB<#O<00T6SS*xjwKmtP3~7}^UR^QA+hMr zB032|dre}M%tZXbEQQCMk&*w1Tx6b?1$j@S#|!%9B{Ky-;tTKsKxnYuo9;Y-e z?}xP18*y8tWnQtb1jGD67~2(L2dg}b5IsXW3<{^HIr(uU)$z`R7gr0^B^hdq1fm)0 z|C8~;wq152KtoG3Y{S3jNylP3=dl0V^M*lOq7gGj=?s0y`SE~uHNEbOD82>qr zMt+|b=(w$W==h&q&hYq|;79Vy{*IM_cuZ4Cy6j$9EiRssaU8T>z-=wY+mP0d5nOV+ zKUQ%AkY6(uvpc8&3?6YJoo?gzNgqfO4D$bmJl_7Y(awZVXUK2~hpQb}La#9+wyeAl z-+!*#)?Fj&ZJjvk;j+8je-I)^%KU}DA7)?Gx|xY(zGTeisxfUta?}iG9y6C|9pQGD zGDvO;d>Fr-Rj2E=+>CR5s(JSSnrNx5v1wMh0^eUNFGL&+y6g+bg4i@#(V(-!X>e91 zB*4DClAi%<9337|U*eC*&=L43OVTDpC&nk?vUev!!Ts<*e7C097*iMYtMpQQDX)LF~77if|{ms7*X_k4VF=;Zc(g2}HEnW0y=c#$Xr!NBX~ zN(D1}!-`T&Wm!f=_twI2Qgh=?#7m*w0>8BIxZBj*eE$KD`EYjgx%QgSF2K*{>=EgS zrD9G9Y z>d(|0b2_8M(D@lA`;82d_h~$3r}bab$mVIg^d@VIuJUySK*muCr0nO@@Zu*rxt z{;=(l#H!z3xU|zt|e!_P; z!Y)<466>BdW5VAIr3bL#ix9}uwB*qonBEOTbX!7> z`bXSnCYq0v1!isB)??b%-ne}Yt1utMgEuuN_rlYP!O^$FdSr_B6L4R zHGSGH6{V6CH`$rZ#8En*!%NE*l43Tv^1myz!3&G&1T{sAJ^+Av7&7-Mqc7IZliTEj zgxKD8D#qBENk~75ZyNSm*ykDTHOJOX)9tH4F|h1%9yYZS<@Y`^rXHza?b(MM1exR~ zXj-qZ@&(kcdT)Q3Zp<@FM;j}<6O;~^jJquFN=__B@aS{M9TyyE-Jn2KHviiU75!4b zOdVZ+nOIbE(~Qw7>|Aj8uBTQAzPNIt=IF?SawMWSW-}-k8}eu=wd_I zG9WvErEmarpT}kf-WKM3X|RL|>j(NH$rZqpx*=@x7F4D=j)Lg{ISBy9-(Fjj2d%B| z?A=Srog>6C7p&U~zQh~Oj-Gn3&66h$&X`6Q#?-Fvao(Z2PevT=sEjD(KeB@cFRinw z#oe(*3Nr>_>;S||8AA``_GDDLYHT8$xX~WshWx8)vtiUwgE>l?i%5xV5YF&whWV=T zn}l~dc@@l(TFxSBsj-V3q~D?;^E3F;a3Q}{PwIiG$mc{Sg#Yc^bkLD4G@wR|&y1z; z^8J!gw^pAG?j17dcU6|1K3ZgaHFa}zxZ*)~_Zj1CSvI9|R7D|_&cLUv(J!Qrb=xLj z7&!8K-Y9vO(ooan1=Y29X73GV=ymb$ruyCciUj0k7vrxdd4z4b3?@{>aBL-^ckL() zZ~DDY4$9-$Q-7m-2>?EO0ZnddygKyM7q@&qK&lS;^(uaV?Dh0$eh%8lPJ&K*?BClaMe5GeH6~`)88A) z?``)%1ibm|EWfvEI!sh(qHk46scj?0Rs!kFU9<)`*5Daqsoht>TX`biDUpJ@M8P$8 zmG|CG?My%3)2?z&U`Qw52iIXw^Xs5C&nA1X*r5WTwFyWn$2@#z!v>yjlzbakQ3HM^ zs%0C-$y0g8J<8#gFTAO_I?bz&X)#<8Bm+3?9o4LHd6LgI1iF3tE$}w6kqUdRpH3l> z`?v0kCY?5t~My6=th(eN0K=qU5+9S`VrecA| zNE1}iW#4q#$wW^Hd0KFv-F3~Q<`wLXgW)ZlU}=ieGIqI!nMhhG^6{q|N@0hcv1Pcj z|FhLK6P~yA87blyoix`-dml*l@hH}8mPn}hhn04Y1lHILEm1eO*Q;q}jSr_(;WK%4 zBF#H9QA$3MSx$W=LkR<1nROE82e3Xd+ zP*+cmOOlIXMx~MLZyVT3@JUkBysN&Ybx9f^i2kdG!YzA6uX4+!p4K#f)4V@!DDh__c7jP6l zp$>e%bL{=$M;LTqjxYLsyw@jH`*(0tn&!ygBUAa@0VnD%nD*iLP!x+NO~IQxd3ap6 zRVl?vm{u}+N6Le!+XkG@**}%yClUqNzaF#95#hLV(xP_$&f$LU9MiTAzCQTWc4pkX zw3aMb7^~BB#%fvY2$`Df{y6Jkp)uH@f~u(rhSG$_XqqR|eCGc=dYGrE?kl;s{&+E@ zlEfph4@=0TOiwKvTb;F+wI!_G*ifQ9{A@JOj?IjoLi2g~2vn6!=L!y3CgRehCWR3V zF2H0L58k)TjD#Ka*RCpabJySO+Dt02uT7nl?SmjoE!+PJ95uYa6=^V39OT7b14hnJ z08s;IpiY{9uQlyZR4?9e){s>IHxj+N8c3=F>ap#Vmt)S^v!&zUmp{r5Tdge#-Q;1$$@6jZR{Z;|dejufc8y7(*Hb-bi0cM6)Y(7%Dd&iS& z9(@M$Sb`$Mb(+ERwW$b|(4TU~#dNo@(#9JQoEBrw5jjA(-BR@}zoHJX3&oEqKD>lW@Qc<+_n3>zy#uc~lwGg6KX+Po z{8Yl;L_yrgUa*K88*ReT(aeC|!HcwrGWbuo{O&4Fgk)Y~3CZ2)BcsUyQCvcNI9&qE zGK3X6N4yE6Gpmp<=$fbK*a=??Iu{}^8I%wI0?C%{@~PULKWzNl4e=kyFA@+vhy!vM zO;*fiSDBwitKls-L7b`3jU%oWhwBl zzf#{>n6=)vIkIku_;796HhKf53?Ky3W(V*{mwSx)%yDP69aB`iB&n&Ut=M=l6uE%)*a|d$ zY&YXTa&WY(Z>&aOY&rROhVQ-sS6ti{yY}YBySm$d;m8%q`0RS*fceI8WLgB((M`^# z;>@9xf=|c`JyQ(NRf=UVE%dV%b+fE&P}qu zb`Mex@+-BWbjNp{KipTIkzS*_Tv1;)AKQh!1=LSHFkB--Qw|UX7WAan7tTIzU-n)V zaovBtR$+?>4^=36)kADMEhaeSMa;`1>x~t@u%0C+@(-P7j|ADf4kTVxuj$QIy;N-A zpXra>Pf9Bo#o5Vxv;?tTeSV^O=11V-zac{9(Gj|jM;*(x9vU1DZeW3dEKJ-fLa!Fx|5ec$t#? z6s3tRgf5o9o3m3)V_Q*rPN?H>j^Q??;HE0Vi#p(%p&xljAv?0NGI}iXTY|H1@gPTL2O4>vw+S4 z^{q6#xuGLe?!<=c$k($iF3PW>i?yWj!??XW`jU(lqr20;oqWR>oCu6S(J1D|!ZP@_ zA=E|mBe>nBz&7)qyBvCF4#4j}NJwFI%}*{R8)-^k;KR^rVooV%_X=eQyoxTan{OK> zd>Oac<*46<_>YT5z=>J;uB?E!bQG*Q8@+AJF(mF`yHr5+3)t5Z>`ZU%=8wq$YIjhA z{1s(cz*+G<9t_1muDI?iq%;lbyY?glKJ%;6dCXM^2kmwrUu*^x!&Rz~`I(p=OdL|< zz5^bpx&igAHvezUp2J`o9m(YlH&F(L-PKP$6rT(NPu-Fr@awJK6i*hh|DF(=dXl7E z@gX{e#?zh4s+p!uy$su~f%fuzF%8UlR(({`Jb>(DfDOZ+*`~ zpm{yD(JF$%6dt98KDmLmXGL^OI4N|QH+Mtb)kmZqTnwdJ-B{e&XdEdwsj0X&A%c7) zg>x#t0fy;$d14oXJIXOv<7OKqZ_O#gVP0|G=;#9GON-4z2#!{JnbOF@Z3C#^5i%6C zgh=$Uy2T8X=dUkBkk%3+uKo=g4UV2G8}|^7UMo;wX$hm>P7|QO%LV;QEnt)CPu#!a zL-Yy4l{Mz8+m5x&d{xcIVz7tOFnhmz1Q6$%g z-qMiLVZM0wzIr%3V3-FeWt(rgyN%<+bgukZT1bfL3>*(Y5v{WU0h;445sl;Hm-ffa zk(PkHg=gxK;$`&LJ=gn*3I^B7!>QZ6?g>EP3l-7#Dd{n=RWk-xcW3!VXejca+K3FN z&nxlgduC-VVLg*9?oMF`=_gc%uBRRnhW%>a8ouYc0^qecU5?v4o2lO#$`OCY8Gw`$ zz-c!%eUK*|Ch_I{VY=yl6JAtP+IZu>$uI42_H4JC zAa$6K5fR12_ltELR{q+-J=-dYI}pLfzaH*{4C=!pwFbN$-8QOss$(AV8xleGe;YN^&a3Wl)x<%>E{?v^IOmlZmGklQ+FdneFG120PO%E7%=k?SBQyQ_C? znm8AW9mY&|i;nSMyUtoD(|hOx7QrL#@qwviW6r11cIi{cgsG-{#+=tuX)v z9VsWiF3UJ`Vd@&92lk>I(2KctGt^ilxuR$q*!sfZ)j29H_UcqD65Px}_56bHd0F+~Ugg-nz>4 zwu%l?ZIUjVdEWUIeYu4xmf#mRY4;&&Zx8%&%ukf!HNyFeYckXT`++(ZeI&gO@)tex zV3K3^OxE~M9H3@IiUWEvL+7|zVAu=XF~!ID{nK5nuxdEO;UP^^BV6WQPiNiJI$>!UAVPapOF~NH)=AY;2vB>^xtQE&v)Ce?yb2rfSOLa z+eavJQ2_=?+TZL8xJ-ZqtXfGM{IHdZDcqf5?5`Dde^-3HbOmw?sQ6{NIP@vy(XOMIyEKjXtfHqK3zVgi?s~csvEOv9thrl{Ea4~Zla=MwR4~45CM54( zZy~!`4_TV#t8EPE8@AR}>hPhgk`=5QoJ;Clm5m)UC%xh)KHK}an0$D6d%2V8*gx*+3TDlUIzzL36m@pN#wV_6^oVs6< zK+w;o%{|+j_FszCwOY`B84U~}Y8jR&V&F$Ku&BSEe#r`RC)dIb_A6wS&U z4fGO>H!2z>XanpNzbWTxs2AEC=K|z*yP)m7%@<_aoDe@hDJbG+UY7@_{)#}w5BNYX z4Vyc)U*aeC103?zjxI~h1wRv_*>mV0KA4`O!{$xA(teAdr_$=pc z61JRA%Kowfd1sYr~g{&|(i3`rBXhF|H4(`gXZUb(6qgF~O*zl4bIM z3R|wTZSb0sbo|nk^;V~ZjDeUZnd!`1z}Brk#ahzQmEl*3X%-;CnP~rJo!kP>0}GpL zX8&CTO9O_tn_)4JNP65iIl-!A?#e-OIM@FRY0OAM6kX9fE@@1E?9j$Nteuzm@UK|W z`AE?ueP}kr;oMo#YF+N3V0FSz{^&R#{cZihAqgkzbP7pU^tOLRAnm&|-TYQTC1c!Z z2PxZ?<{SlD+LMU-n?9(0iA+J^@GLHN*kO--ERa`mVt?^ljJ;ZB0O7{^iE~0%#RE%2 z=#ek%eed&F3pc8GZN*iO?SFCi6jKAsRI8I-NzUVdB`WVu zA}On1??yq*#_rPV(Jq#xrFoJ#!eM9B>v#!OE?Rr?%?TpAAq3Z~fYS@I2?aAQ;%)a6 z9S(;}y}%@emkn6fX8iK^ay?<=oaY5!>G(rer`AyXwr1=d5$f<8TgbMIxhS4Ax97fe zamCl!y_KY%wi;cSiQrTYgccHdhE-4EDFrR9TK)KQH)S;4bS_lAv=IMv%GLd6%WIEj z@Z8nlT!GzORW^603|$|D#amRV?^2n1hf!%f!Z7{?-*Rpx2KRNPc%!Cz9fU^WX?aP@ zF!=~JqsS6ne!^v$%ZD-*$#2h2pA(MXtp5s+E@1q@+0x!zNMdT>AS=JuEmo3)_UStY zbFI@){CPHI%&LpuW`gLc&cr9gLjA zLt+HGsQ&OZ-x(nE?&LrhsTeCB*^~okJfu9kNUlH@z#6D3Z}~0m@Jh6mEV`3OG=#}*i%L;vq%*>5-|{wOvOnynf3lPIHDTxy10z{G z;J~Z+Vr6tk_(&SjU}aF})MM5U9OF4nu45LbC#QEE!tM4E?BlT}o-|7p zR5!(S=-l#HlMnsbXe4(b;;G5D87!-=31RJnD0i;in%v6UU--p;dW2%U_;*dL5DWr0XrJeA-Sh0agMY5WpTz2;K+4d6hz z7pRUdFb%@(sHZWjJSU{RIKlv<&Tb}dbrlsmC^XNkv^-n2IGrBjpu&&B7p~u+n{v3B zUW!c}9^h1Ng_v^dM9d7Xl6h4_N?jNDe=D+Yuop3ma@EJLy^i{GVRtG1xKRpLuHpI! zL-~L7t<-_W3{P4$JzE}%^M3yWoe?f1(c#ozn#yQB*Mjg}MA3I^CDNP=YprC50% z^j;x765;f@O@oUXy6pn0#r}b?hhjI>G2Ae#Dz3(@?N}NIP)!-;HyabvYrJBP_Q&D_GQ}J>V)ofX zzShE#6BO9yk6=K!Rq*pH|iM_xqQmkTI-6*?siT%Gj)!I8kYcK_WPh+cP zVm~;|NG!#nrO%E1wW1<=u$+o?s1qW;0kxrDviIV!mXT@ZuBGY9nrM> zc{j*4GBoOco`}3Yyb$+S8ALn99OD}~lMt4zbuP%0Wt|Mg6WLA~_O|;de0aJm?aE{- zon`ysuj`$_0G#ktYqhkzmee42KxpsRAUJsZ8Z|n2eAb*a3tfT^>DH|w$Q2=R*!t2F z6LYkBigz1x6=~^@!{&`tS!z}H_L@?mF;2unEB|z3h(l4_n`|ZbP z-rW3<^xl6vD=)4eDlJ~7D=E$imOR+Bq>45j;cga=vD(zHtETe+RJ3NW9wRh)sl?wB zvw*S4uY_#6ki8CtHa-C#bjn{d1!2rYkJAY~Evep|d5Dh!=<+gCD@=i;3tZq|z)9NpmUf7gXCFOjty4J8cb6YaUyg z3fdC&DqZ5sTl?i5lE&M(NQnby0B&6+Z)}a?mhx@seMR@$Dx!YaYMlF1>-Y)y5NsrR z?&qSB^mIzO7|0>lXnhfoD99#)Xj}q*5&uZYp)J3VFyP>1Lvj15FLHg#;{-EOajzAx zSa;i;@JG}b5ebRCEjIupNgs~%a)KF@&%NYTqxmvM8x(7#qG8;8&l*)3vD-eTw2{K7 zvhD8hGVR7UNLiHDx#-DixxYYphTep+3QPp?UPrv9rFM#6s?O_-;wK%;418@sbED5@ z2sA}TWCs!J@Vo(NK7jaIC6P+F7{g-=+TvdymeF`@iB_md`LDf*I$rNDjm4NUcNCh^ z)#joB9-XhxiPF&~(A8|7X4U%-Zyp1$wjR^v{Ah<#6ZKW~)koc3jj-V;#jjF`Can63 z-ts~8^`FZ)wyb(tdsz#l5f1dZBva|5SPE*Lb;@o-sEE$b%ZpD9uu>WvU)~HGbeIT* zYz2iAY-Ephl5eP{S_IDJTv`zophd_UeNy;D$-bG{w~0gN97=&LPw~PT>4|`cC9{3v z!gTmdF<)^X5&*Sxa8Rs@Pp? z5-6ZsiL*a^_L1ED3WGk8aTAo3Dq)21yE?F1ms{n78p#_lv?FPJPPk=2uli z`PKTq_lO#9OVwq;L69MW%J=Ga`hPxfI*$L_Pv8i+ym*lV4Eu4Ba06<4+ND5Omf0a9 zCJ9SwB}P_EEcelp_B+>L>KO&VDvs{CcwCsy)M@fmJi_(r>Wfv|qk(L{tUofn(~T{c zm)qxveDDk7uSqhdaQW1eKx3Omrg9^w6hkEoKo<1d%ECyquk-+IUy|fH@W!R6TyLM{ z8j=K#<7X|VG6S^e!4gp36HnAcsz=e!tE$TkcvPqfVCF$82b=B4ae8)~01Rc4* zY&VG?tY+wR?>t=2FWG9joZX-$bnFS%{mjyt74(UdH5>PJEj<_DCaKwYQJYX%TR4!K z@hSL}YY{M^Fm5%}e{!JNQOH-;_CHrLRnyaQI2p5rA&w)zX?+X~5VpfXr`%c13kF4~ zVsr(@{Q7VOMr-y^Id&lv2yK7aVY~5?7)2H^UlUlwkzxL)BA(){j;~E0DYgGCK|2^q zCP}`_FcX^X3ag?TtuP@>z=$=P{SLu^4z0#$Q`}B?s^>^yFu2N96~GeoqZX2zmUXobs?VSf?= z&$*F8B@BfZItm*Om4k7^vX#)q`O<|7zW9wRrZcc;|4^iJ*&Z1Eee#$?pdB%o@RM@Q zVDZAeelLFuNqlYCNLM>Nul|UND*ow3mf{u;NzGJZ6%9vX72FqgIxMIJtFIRs1;Oc! zgy<~r_Zwm3Lg43>NR@Q5p|v@P(A^FnOt31ma2}Ivo{wceKR+urP2ngjrW`3|EA}E1 z9S80aR4CpqNN1SGT>#^2pLk8(kODbgTN8$PxmvZs6&teZBPZ2^%pKcI9 zomHS`;WW;qk(>6z3&}T|Q9L_0IX9PEhZ%SGU$gW8*Bv1XeU5aRo-YqKvDg78W&M9z za12hd$0^|Hnl7wIQgLabNwW{Q&s;nye6bkF`AJ%6hP*i0dLa!SPTCAj%yQbC;>yr zMmGq@hdgO*q%Khd?GSCoX9}bPywuF!PH8FS>kACO5--Iwnuo#)eZ`M`XAm;R6AIK< zWB(LwQ58cId`s_w@E=&F5oassFtmjQ-p-R{TYokhaCb)9Zl|#}iag?qEFR;M^MB z^KJxwr(<#AT>5Rt9U_`Pe+Ev%nCyA|>tyvi*?sjV(J%`heojL-l+1Pp4s#f#Ei(Rg zQHrHa#x^r*3??q(NTz>ZDgqb2U3Q07kKR3D!bZ8=9%$sJEL`VKk~ptb?40-&twI5M zG@S)Kw9kF^EXWbw&;xLeEO)j)qu`i-k1@-k&&=O@C6}ZlC@kgDpY+=k`-aO>1(n-b zOxX)Jh#}ldnZJ+hD}Wm8)A1oI1HCK+gIhCxkP>;gj<;%pgdP`p8W-hj!$Q~;>7S&r zDW3awyMhN`$KJx|Vdh6{5KJD{YJG=(+vf0eFweDQ6jzvPPtF^gmfA>d&M#M16D&E} zYk#OPD_5JSY|=tt3VC-F+M+n%#yJ}<)~*J)JGTc&juh;En^~+?*FKL}e*?Uo2BoAe zm96#%X}H@ICp{LzT6`2%_8-f*G5;Dr8{I1&uZHyTcf*BF6-Os%i8B+TGrx5?4wjhNO{Ngct^To%^KBmZlT9YmMOYcdQQ=nQdRr?zN6*F--4 zYyIt0(6y8AICHty;~^XD(#ZALCEyP4dJNDyJi_qD6dsx(QiV+63F$Dz@?|)Lsfi~v zoV1Uh+#clj7G(gI8PZ=Dy0Jv{;lP>`tpjW$|5grxJ#E(cOj~L|;Ihdt%mRTrgS#B2 z;Ad-^oM2Yzf)$M)m2}QAof2`$SN?)3eLY9=kodCRv$hDPnz?yCN(WEjvOd~rS^`U5 zJCz$Gq6gR*5Ali|($56$$J1Z!+*(>oah{F8KMq>h7}Bq@dP!J`PPeT*tkW0e@tEW&x z`>&JVr4h^Z5_wm*V#xLKmwq=#7~1tpb`iPeMw@tsRzfC@9NjBliES-4c|_ydn8-d# zc4Pql`!sOu_uK_hmG7(?4H2uvg7sq*=TzIr>TFXzXm3lQ{))7eP(LLhs&7neycVXl z5mqqYPL(zI6fioYAM9kOywe8Goko4hAgp42}Po_5j)Jdp=fZSL$V9elnr7;GqoU`t{nY%-ikG$mUtn4ADk3c}fkL zglb?-cPP3Rw($=yY^3rFV&Cx%V%LG?Yo@iS%Sl}Pw}x}wpea&5!&+&(q?ST}EQJWN z%3{Ikr5H;acRg7}Ygf_G#Is@eod)}rX{li;_gDU^3Qb*yHf>+Uq7BWc13CGq1AYY0 zc0|*ezIRi(fq#>wo_ABbzHbxLr~?GX=kS zu!fqR?vhMzCieQa{CW12-=L}|5rv}y=z2nc-5Km3 z3n}1rGv`qV_k{{P&B?-*t>FtFg~xzhaS65mq^tFeGGQz0WUi+l5zvtiC$2}V>~f15 z7({heYdRSY)}L3Lv#l$4x|IkqGcpCTxQfn&;A>!B4(x1IO~B4(7g4yl5A4eS`BD-< zk%LQAEf-)`E*o)FE+_n&Yv24e$K{1s;voQ<{~y|+aYJ@lwe+y0`09h#!AcXDR zi(|Jo^wCaZ1k!G;|D&D9&}Tb~L;xaFBA_G;e0ObT7wq%j2Mmqv)>daVBeyD!kQ+N% zN{TI#+l%YfOO6XYzAI*1zEwMy6?b?(>6i3=Nsdrzb5r(gd#^4nE`y|4Xz}uVjejc3 z8xP|*4JYWcYUbqGi*estybcq_`Mpy?1$pD_E{Mt%Mu>5pHZ3@!q-&$-@A%+AU74SL zbyrmMWK9zm(6N{@0b`{^z9fN#HYyO}QmdOG6<=XYxv^wnbwU~EzcUb>fT!kYMTKnj zC>*qUP{8hwa?1jHFn*n?t$)Ojs=Y8`JGn+!-k8a-eFb)?vzPTE?sHNWRq$L+Ea$iN z3`h2UzU@$z)|Y?-bfO#d<+-spzEr!{4x}EKYP~hTwMrP;$}6he|Lho>{=J}Bb+cWr z=7ceN)BOHWy&H%}T_E~kd}UKznhpaIi+mlMW*q*?%J^egE^_}bS5AU)!rl_ll{2#N z9Ji9XeJ;8vKKd3eX5n>B;|Trp^=M*fbUo+dRT(+O%WYL?*A8k3=K8{HJsEOW3=8Hq zIAmR>X>rat{r)HuNDm>!0qG%q4m#(^%kMijSFUu}`W#Y0p~6c2JH6Um6hBG?J)5>i z4K*WpwV*yBcWXi`d4}p)BH_^123eyG9win}rMQl(A<#H-c(IEwA(;1l)4wsA4p5QfbO3t(AHX zif*rdPjGXVfUPog_q&d+Wx}3E`eOQ6bf2w%DBd#ykihH&|!o^6yz>Nwk(a8e8`S_3{ zmEr$O`+z2!0Mr*8BM6EWNB$QH{)E*&gdaZ9B^ZJ3y(&(y$WCP1h>}ls_k?LEkF7e3 z7qfExw;zWl4Y%X_UVJ+0g5Ok@uEY5#v9yV)aq2&fUhh?*H>!`XEGAc6mE>lBEXrp( zhI-P#-`JE1wWo)lBI!AywgkhWoC&Sx&i(=9Y+Sl2hRs8pub z8CL-Z%cRO4Ik)e|Jrv4k!N9;AmLu!qL~Qu7{W7ax)3~vuLB(Hwc$YfOC*O~Z3sWmI zEWf_CagM75E+*{UQV6ZU%PaUzBW3E>5ts9p86k=caJ(5Ot~1-ft`djGRoSrud>$PB zxM0h9Er@t)kKw(fbIC&FrE9MGq!WxgDn92xOS=_z7?)5R94xBmA+XE@y-?Y#W`7%h*!_w zvM*c8A;J|eiHcV|rm;Yj(|~z8C<4@pNS4>hF1C?e)=i-$+J-v#>~{pk3SyQ_et5`m&pLxdP7*=4(T4?dfE6G0@MMEn?0829Xib4 zlsUQ0;{g{rCm=1K=>0es2+ax0g9int;%0W+4BI?)aJe&_vIC*;#)F6N=bP5pBGh0r z9)9)jjU8jEC?-or>GOZ7W@&QZLGK{L6O@e>j7AJ;)Q+}KWQRxjr#W?3`lslO)^rg> zQtrK3FtgsA@xJ)!i<|bn&SRx>o0lucOJ79C+a>UxIompq&Ml?I9j{LyD4G6Cpc)@Q zgmh|Gz;o8dN&7)3x<^epq8kmX22F>aBm}~U4wa!xtl5xf;^OM43)z53VP@fxfb11= zx!UR@^s-B~1*hzN`e2GQUw6Do?cfG$He}zawdKfF#OXVejT0}!xhci{t+=z<%@v<3 zPMnL4tmfir_N(fW6NErs#aIn@7z*5F3rrjsV z49LV8gr#jDvT2MA=JewiWqNciY3FFn_xOxhB#f>pUtEi0I~h7nxBVcwo@Fg^i)6=c z#A);U0<+aVcJ$58sf?H1Xgf2RtY z4s-vUZzHC)rr`4XNjJjmj|?2>wZM!sEzJc*#c6cHSFzhz@RrPAX{ZgE$F8k>PWIJa z?6%RAA0KPr`31{^XJdoH5|@2Mp?=WN7v8`+NO_riPr5v#pYu2QR~d0NlNA$bA>!P? zVuGsw?1b|d>L85rP^m^~%ITz( zRz#~a!k|hZQf~aMp7r&x!^-#edEv_6el@yxOJa#~DihCAfNe`Cmp+7HqlWI8&WN-* z3E7^%>WI@%re|yEsMYE&2`Q@F?U#q4Zw&&IS0#SG`0#jG)QK-SR%#~Bste5{ZGhaD z&}-@dcK6w)-IZ&f5cWXj2M`p`jfalvZL^6A`}6`hc_b)PXxg}TXaUGr{$3t~m+rB* z7hPn7UgmIA{vCarc_E^#Jex&P`fsUqTX|+c$GSJ*fdt_F3 zcJuvlFo=w+c;|zLJIJ?k<=tVVxT~nl1A*UYg&X)!n!<)8Bj-X0j^GelJ~B~l@q6G` z$_qo8`sUs-2vv5gV#(sw-d445E#TL`f`NhM3h`D=4{_iFhy!$s@x?7xiWsz=R3ER; zDN+vzZs+1>S42hIFynRsE_CyJO~^n`TUkJaq9=YK?N_x=jNO%tGCAhfjGR?!?*SvH zYNGI~)f3!aA}8191d7{&aL-i}9ojMsJt#EE%UoV@;%B-#WJc3Z_AgI6t1o;VxI zN$E=c2bXHxIAtw0#{3;|=HB)i?Ro|Gz_{c-jF>AoHwi6}A4(m4O6=yM(i$g6S<^XX zPf~5_1XP7$C41Mf&?apfO7{pOeH`(0rloZ`T*o)l6S<4$ItTO4ig6tYcftv+rXNjp zHs`H==1mR53H?-Z<~~BxcvUK>W=}d%F2WP}gPoq-ZyQ#s0&;KG=HmZt8P(=?&n;kfSrAHCPNMq@xfMmBwfj&}0XgJ>e{I5{TchaM))#jGTk=6OAP4K5@MGOoc(JJGbg(`# z;_J}T48DLZEHD92>n=%WVZLxU2hej8RQA>!=aY+Y_qB?*9*A`oVD)D0!b{Li*PdF% zxOqMNc{_7$+xC30U=@pr5EPx`OTr4l;vb`zvwQeG+m>3^mI6Q8^dp~#ZxwzK(Jrd2 zut+hOp0FGxHhZ*baRmnsm!CL5|6VM*!* zVrpCMu_{br|K6r9aag9>VY!E@p%l}L(2r+PG$3djfb4j?YkFktMP4fmqyutG51PxF z1@6|TZ~KifU|b$0Eh!$Ax1W(D;?R ze~fmUZ*=M$w#8EK3c=klg`M-|*VAXc0%#1O$xJK{Km2zAmv7jlw%GxnKGkTGPqOVRw+r6=Zm)DP04nJ z)cy6;)x_yyMy=*LCq>7)SCf|mA!95nRMi(OrVp}TaBA3h)#^VaZ>l82C#~ro?{8oQ z1@HOfjS@j`P!m|#3g^of&q`4zVU?eg5W*5M3i*4@>u4(VT zc^E2>jdwG>`IA@fQf_XFjg3amyev@?YES1YuW^AlwpHf$qZl8zD?Q5Wq-&7*lb`}Z zX(SPy1*8X#L1Q-yGSk!!g-D*915kC z>Uaol3tF3Nu&VdSWPI*G^o_gs0C^j!{S>4%u_+9;l!1A9%EJsM+^xtC#Z9>FQ?)@S zGHMVcDo75&&K{!_vb<3r^NTZN9&Ht*1MR?LWJ~3Q$!;F_UweK-ItFPbCB+%Xknsk~ z6eEow#Ho(%5l&Z;ePE!;1RiedL0juqc~eHfbW_vnCn$r=_lRQOjZz z^lH%$*@OTT7Ao)8SkGEaCwE?!`cHZxhPA|09R(Ca*|QyS6k;WtF@i%2F4ZKG+=L-~ z$bJ;Tq)2c93KwNH4kAO@0-y@jB>J+0*{LtEIet^Y@q$GTpaAx9rI3XcFGY-HPi?dA zy_{EdD>3HkWey`&PwOT?%C$bbkN&=EGSRc`Fi2%=!Y6Ggd#n#Dzp8KmX=d&Ks_up} zJa>S9hKmOvZF#|z4$~Lni5J$%3UXFsihdicy*06#(lG)-QHM_ZJp{Y`U!`che2RH=pUF zwRblmXP$%SPctRB3blusNqigEzgE{xMapM&7*8`~wV1fm1N<~oX)Whw76A2c&pAJQ zM$-`AkWaf%rGB{)xp=>>^?X}+9XZ|`xWDcwId=Jz2%{d^cWw8ZD=I>hqxw<*uKVM zEy5|~M?pDaRZYwtn00|KJMN%iNyR(T0K3&X`V>@`4F;9#zn2FK_K~Wpd>a19a!AO0 zAy*ibLm($67o_b~R`WAl)L)V9(Fk*afK%9PfsxJq{;n0Ez^fdkr1;6;($=d5oCxO( zf#a%txKwVtocx387Lv4IUOv{-b8v5Ks2f%^cbytmnF2mSM~)gP)Nk$w81xqdQY=3L zJ4Y&?riyazdHXV%8c_J`AVs&mcRg^sbv#wP>UWD2?6UKV3HutP(7# z^by=LXH)V+L56g?b9`T8^FLkB?=HQaauVxhy&MrDr!Cs&zWrp^Cv;b5l5J2PJ$RJz z(cRQ;skW9yw*=>>vXxYVWM4Nybs zNl9WRaVL)jmcPgzoMqr}Z!HQXl`Hv z+zk&TZb|>1KI%q$sXsh2dE5OX8*uo8dPTudfAs(MY}YNQ0(6R-ohf1ZL}pmz;d4!> znj-Trr48{`GXd*=Pt)2)p6OAzkXugi9&Q9woYRUA)2M5v% z%17Lbv0K-Ru|X1F;FJJvGXuTxfYY+=%1NS|+^k^KsTf1OytZ5&ma~3l$tw1Jj(TiN z@TC4F=WUGG`5>j({%Axpg1GfsfI&0fK-d?vjb1Q5hEYQWdT`oiO+YQ$vEx1WO*;>m ztR;zV4a}O^FBtiq2KG8>O)>LyU9GZc)-bpFr?IOj%^_3##l(wG{yJm4r`kJWW8-~L zfNK3&fViN}I1TkiW^}uIC_ohGu+$)dXojlo8hx%X!i9Mj- zQw0ViG~r70c%!y9S-ye$2&Gc(%5^1x)T*<7#hXY@1iX*6lS>Uh1EEAWVH+#ZviU(6h^I{ z(S|O6;%UqQ8cvLF@6|dj?{+!lIBK=!^zv%wT|3iWM{<RFbu*o*VxUm-hx=WJ$gs zO!G9{c--@s7MTdEMf7E(rjZC&iv4b{A#qq?&G%?DzJ~+E)_5I)6^O~twHyl+q|l`( z;`jrF4YS2!#6~8tN#!(5lC}9Kz<)SA{jV`nX05E*c={5zKe3VQ_w5nM3_Lg>3?@H6 zn0ydT+DY81m!l0VyFy>${hWR$x8#O^mM6X)SSq<7(;!?Q|KA`sD7zH>?nI5g(V2U{ z$CG&?2w{~Ox|iyDYJ3@q1HMe>VPI^esW;x=Nk}`*+s$`7&CNSx-;P=w_o-$Ym|WX5 zM(BN*5Yu4-5|cjTUG_bOMyJz^nXBcee@@I!T@xpps%$kuXH+GAmi_l^H6WDbur7V7 z<;WP6k78G5vtjU=7&YR30{ zA;M~7m0h>%#JyjUUy4heAs~CS52Lk!-|$lOYF!^FC_px7ejL%g2K*uTJ&jp1tbhQ2 zF>_tY!awb3-}wKsqveq*Mh|}N<;ihdvRXMx`C!wBE}L0BUD3GhZITom7m*EK&x|0H zBAgsY#i_Um^QFi6A*Ai{PGh;<>-fJvBS0d&Mp_5M_K|CE6{+5;i@ zm3yVQ*VOHZ*LL*^I*u}R{Uz>L^ayp1&CyK6yb_2SANVHwtm(Z&kD&s6!Y0gz$v+{J z_J$_g%0z_mEo_>YD=?ZMhU}(7wez3MY|N~IBiSTS#^kRygTX||!rx(@c>caxcs}q1 zvPy}q*_>Za$b--KY4~Tg5H`=!rE$cFJteUaSKUlRL`X@~wtJa>tdf)aBR&C}lR&6cmU#yyw1&~!+!2ivvZDe03 zho$|es&OI$+Zz+^e`VF`x0}tW^R_-cYN08bTzVgat`>%FWCZP zA1QCS36`c4%^#n!bm$vF(CLQaM|mSCmZHBy8+b+|HHm$OWaI*c+=E0w70Wd1 zk&&$*m<7inA9*xC)M-+sOeVV5jZ||7S}PYca-%LiBzLhXhyeMa?~?(BArPD&?RDp4^;x+n(z{wwDM$;W_@ z_|Yp57;^rhnJ;>!c2kozek<-97VXl^-mz*?v4N=yW&tN>dh*tH&DcFlJxg|woRu{P zM_m{8IhY&bbhV*xCXlD~LIg$FVGRH*P`nZOmCYyC!3b z6Xg|DWWlN`8nX(l71PJY{T~LKp-!&W`S+16l)@}g{fe5GIIZ$86*6%{}#7v>+C9v&ydc1FISJ0|yXRdm6PU_4hW&by<*7zG% za|{u8Pqt0?8&*TQW9!yrR^A5v4XaU8iYK-H4Xc%O&^*uta=eVA;QCd_f4@u4&;6Jg zrBaV)f#ed;Du%2RJRGspw9H@tx^?Tw$tq5kvVNYiaO);R5C%mu{U|0waMXZC-(2Pn zLt+mvWRf5nvXMSWZWnjW)jA4F5Y7?zBY)zw-SO$BtSdkBI?0D3^jhw?WO>{w^Vxy3b*D6RL0263!_eOEh~h@3m)N;> zOH=C8b|B9sQMaqm;lI#|8m+F{J2el@sR*|gtSqX7zYL0unCDJdgi8cO!6m(mh_tFH z^cnwVqI!9K?2;ycgxcy5z*pk?-<+7mtXqexrwF;_ET@XpMk!&MtRe}(vtq3S7ED?#q6z7= zTyEa-XS8W3g4cCcd*BJP>wFongO0u^HzfGw)MS+=BN2W5*lZsn$WHRmzJTM+Jt8&ElB?1A?tIn7m0?%H;)R)t z?q^9OaLRBF#6*D}5}jDSuhc>&x_?~%XuqA7U^G1>l6qLQVyJ}VjQ@kZw*bncThuiZ zENF0d2^QR)5Zs;M?(PJ4g1c*g;1b*=xVw9BclXsC*rl`ufqsmqMm5 zDim82StuicmcI)~NGEgY9aP^OO_V1hQg@Iu1fL` z%l15!t;sO>dDwW{7;Phu8RpMZD1kLbrx_*s4fr|%IGCha5;7DsMaTdevGJxYKo+%#C z_>W(7QgWqlOT+`gH;N3Wd03jNRUq9OYhNTik}I?R%ui4)8w+okv7CuQSB?yb1uZWtTo1QpYffo}LB6cq?Cd&VMe5}K;esoTPpsW_|Tl&X~iD`&G zA;f9UHGP;c=?5@^9B0q+ehxyzua~VHy#2&@1ju!4pQZ+d|dvx$*b z7z!!x*#}adU#Y?EE;@i31p6qRL50Y`r!@P8@MNpH*?`D9+1TqYHp-QSOZ3UDnb+M} zwC!X53p!|0FCjy1_eDxjRi`UDHbL2$IInMRtb9q-vvBTH&eG3N-!wk9zrevVd2&Br zV9B5h?aVxm?ZG7X^LzQz8G(xxf3zW;4k*@xPwfO{pesr3Vk+-rsz^35^l+pmJ4Z%=&c!oO<( zf3NWvY#tR3tO^@*Ui2C{5d>OXfTgzuZH}A^VXdcyJdgn#ayrHfnUlc>VLr z@VGLH^>~Nl@Cy8#IS@6oT2f96!j>DQ^yj57mb3YpO-KLf{O3~F)pxKSg(5&CKFZ@9 z&yQwj_{{nDv}(zo?%C5(;k>5bKZy(@2XFn9d?FpR z9Jzib*@S7z&mEek#HqFnI7 z2h>&^3+~&V+k_v7EbQ)1y}LWd)`js|F4L0Rv16#&kaFO;p+~8o`gi_wz}bd-%5%uT zM36aHHA00GC+8PW0M8(#SfN!kgFX+-oIN9MP9aD>QW z)a@7GSZ_alhe3f!_!R_!X2cz=t#j|9;&ighmdjSzcP}ph*U_``X^$mFWGT9V8tdXj zTxgHQs0#UPr(oyu9xecYghL%)zxW4sK3k%|L7*W~Qc7eZp5^jDKxwu0fZ&sXWk)~o z80JOB2-SFWQcM+&1l1#ZRuzQSfg{3M;y}fnIr{v8sV*+!HIQnQCm-HPHs#IQ+35<45kE^ekZc_#?FZV<9?{baL_RpXhwhPAcK2;_Z)$qn8BN3P$f3O9m_l+z|UDVTD6K>IhD!)HZ zn9A*&j&1xH9K<3$@_{Ek^5cWt?e3fk*VPRP3F7obL3R>&iH_rD1Z5JC4(B%hjc8Ck zit3%!sgkaHdQCTnCE#mK6dTMNAelo@VnJ%G*t;9G02nsQmYCaEMV#{II5-@SB^WBa zKjgdTdH(AtuF3*hFZ9chAZ-wxrVR!AJ42q&&?j8`4Ngr1Mj2Y{pkZ4QrvtKneFnpk zUkO{`S>GlKB2o1&tEO#`F5AYdJMEmaD@+9r>5VKI`#jVR^iC17ep6oA05G3>ClA)W z#ot&D0KOCvRzp5Vpt(n`f5O#^sbEiU;x()#vC z2J|lqxi8NCsU6xf`cotHkxwlMvSCvNG_XSUD?wX?fh>X{fds15Z^+{>4%#UrZbl6a z&2z_9dBGoV^YZUke_H`PLdP*4UqOE}by8n`F5&WL;&aFBjgzUXn1(mqD5ro<#=VX7 zdPT&Kher*$eiE`WIL!}p?M;45#yv(Ex$oU@=P38Q?LJAHx$6FHsA+ckaocj!e|8=eyQaLEr z9{ob&8`0iX9oI4@W6U#2-98BE2Tj+xvQu{Nsz1+$bJVZ58apPKbi3I85o^=Mu-K;y zgW{_7n{OYi#xlX;$rVW9n$hpTd_Qiz{TlP8~|#YgqI6&t%sS9x8horOiMssPgA znVjZ+4y#$cqbpcIc)Q!-ubTHsmDL{d7ylc4$~RGSqw<=;NvFl-&fyO>vr`k>#Qop4 zU2%*)Lv3}EOc1T>ZcT8W2O5k1XdrIwT9F-lKd|-o$HIMf?Q?^t>l#n+4{Y13`Z1=S z>`sJuQ*Rn{)#3pPzI|g(RTC&Yt3B`d-};UhCme;e+38IWZ7IKukZ;f26;a6He#oh~ zoO!w!Zw?E{h0wWr3%z+?$G_G-Dh~cK(uj3@*~Np8u{bXaWK5wKXKDXV@=4U{ zD<>;g)reIe1a0>Ce#|4&JqsPoZp8Zt`b7UhVE{CLd0-cnicEzhIwv6$i$PxSed?8} z8nbaEy3~MN?sp|bAByVf)E_sd>T*W-^hWI?gsB_?J1@$pN9PN}N92`yhs-&^gAFocipYReMVPE@kc#hg1RgGJEP%_2v9xELqpV zqy>qJ6|{S0ExOhCwcU93;WyC_aX?w^~Bi;fRkP8_w%m5U* zkbzLax90ckq~#I5+M!?v;2EOYoeFmLB-$1YA>trc53)#Q!W-hh;*S{2zw#{DPMiei zSZ*@X)Ah(L*rTJ1yFZb~-vtI!Gm{>L{x3X1Yz)*+vovjyYMAw>T{}4`R!gQUO~o51 z;!g1*zjLvR8r67;;;4{2cdw{=5U5ne3HyrmYIa=XsUbbf_zR56 z=9uR3+*3`J8;v$2CVeRpAT9qO(hl?fOa>hloqmq?+ZdhvE|sdcV|6hyD_$2(;TB$TOAkQMdhP10K;2mt@!uDO0JgjdZ2aY7rJAG$YiDTpSR}ra8)2m#qNEw| z3OC_Cg_h{JM)B!2`kbKCYXYFNW}zFIzdmIpdb`jjdf2DFbEIXo{x3Idyq5U%_tEMJ z(lZ>E9`IC4wd}t3%M&;ib+KZD`Uu90nL8YupPt#)R$|jd#OIfFUnLD30iLNxW^(Nh zHPxZS7L1#23GTNPLm96hEEpHv@@WOl`t zn$O-IMR!tQOQO-sBq~PHgU}ha6P{{_wV%nkafM8@H0tIetELNF_DOIP)z11_Z~cA@ z?i`6|J3GZ=hf3Iutr75J1Dvhy5U{#YLfuu@=(neh@p3J zxpW0+R;sQ@y4M$Vk?r>9=HnDd6%62}iE0!$G=95HkORT%E5=%s17T|`8S(zB?q!U! z_Rm5KYTtXvE7n_<7Q$+3f?rp|S!&$xwLUFmoYZ?LZr3XM zQ7Kw(e2Om&@F#r({X37{f;*^USVurK795!c!~-Cs>W+vk3 zE1`maWcBQjtVxjH3aN1*+w$boS>%h60)Qwad~TK(AgZSu0HT2YnWLfEd9|~Bv#jyt z+`=um5Dh;1S0L(%!GL7p6^OdtZbmeJ0iq&^ZzlcHlf7io99?{eZ4s&8voWu3>7@^` znVqY<-Nlwf4@-@S(;R8bYiJ=UB`EQ3>S-QxmpMzsG6f;9uUoNlLwo=CGV%be46sMGC z8x-Ez&Q?o8a`Cz;&j)r2TjS?X&Z7H{g+!nOrmYW5=)InS|a7hFEY=7ZQ zj(2?^xs?Pk`P+Kts7*8<^@@H&p|Y*<&@LYO?5Fi=rdm~RH`~#|Al`6<%_q?~N!Hi= z1y$if+gF2|Lgf&b*gzt3jHgy2l&1{t^M=(#73Eju7g6>@2mAb9!M@AZD^brKE2nsW zdEZ&i;8+?dfRH1txtBVz7BXZIRc~$@D_c)M>J-#UhL<3?o>%>CEl<2^1wFP1bO#T_ z)`Cq_2{gtd{`;2&DFMqbEvlPFn3k4~wfbmP^#yyvjk5Ww<4oK@XjFBqIok|Wmc^SK zPPP{UL9rtypOgAv%>-)_Y>A}-HH2e|doM`80nFWWO^Eq2c1eVc2Wc@$0DKA8YAv3X z?_34m!-hA^=&YvFg?FkNA)Mv2D87!g{K^+H9sCl%^sKFTWr!gLoGPFWb+mSDa`D?! zgC>{d)7s`jVWDM4jl&Xc3a`=#e99)r1G($3qhAs_BMwk%K}AHivi6%y&cYf$wUm2D zw$sRUeFH1A&YB%8Ylqj-I>~r4ZJaAPgq7k9PL}u5z!=) z;BJL?3KpT*__$6$wlUozYmZ+f*cW~#-F-}68&YOYzLn#A#+!9l=AqI&&cK8BJYE0k z>DKaG@l}~;nWkvZs@3Bcc)kt`ANnURS&T!+cH>&RVEVR7x=O4Fl2R3_3e^f8WZ7&e zj`$AB)bK8Q1A{}D!tj`1AIVKQWMiBB_tBhMd>zw`)ubnz$7{&^zK_F7c~%u8nFi4ACZ=^nwuh*g$*>-W6>QOja!wj(m?@!Y&8}xT`~V zu!Yn$I3-%F&d5T+6)&wMB#^;b=zrNjyzSvXtmg$+OXiun{I_`wHvFIV zE8-kisUP<8qKmzJ&^0k4ZMm=bj#yGZ($JWEst@^~iVAbm2bRgQL^TO!Shf05%=Z&> zZZNIslppBe%96hl`i^)gV4IjKFh0tKn$TzM#Q(CQcW{_Ko6q5G%E7U=oQK@b^|~0M zVk2hvW0dQrT|5{Wah7S&T&KHA4o=`z)DiQwG%oPbQJ@YxSQD2F6J3J9ZX1WbY}ZFH zzcYYqMev3zy7Y2B*Njqb$UXg9{0;WoZR6-Q$?<_n3kXZXwkz#qCidyXo1Nf%E~c%do8PM#mCR6%D6d9WunKJm5r>yGycCwMY*1sT{9hvr$s*P}Y?y_jF|YcoZF(@qHN`|+F&iI`;^X4(h-NsdrUTPMAeg`HsA!!M&kqr1Eirhk z8hUz+6)@D`3o{j*8nVfd#*B`$9sFP?c^_*NB||F#(Uz+Addf2X{1vX8j%!>_~}OJ^1ow!YE+B@nPTAy$rqVei#d>H26R+Tbg85+Cp(!PcZ>X&?>Mi-Q2;yp3>?sWE{rNdwY|9K=adU1^h`azJ6m?jK)ZV(?Lwv{& zY7U%M)PS^_wtyJA2NKJ0%&AlDa6;4YR_$Xku;KFS(u?!CJ6f7X!vPr|j8s{WE_A!^ z0>z*ofN#f(v!qw^=e0ub>BGU16O$OCpl=q6ECY=gBD(-ZR;X6pT!vP3jGO?6jwcL+ z|06Xf`W5T9vep->kLT)3+eg1g_l&&l%NSZKLpkz&P}G?We3bSa>UKPv5Ur0kw1SGL z_!5@e&c3`a!Q4VMa-mBx;d_nMO;8LaW8 zTL1}P-I%3Yc;9aB3RS5gbcPl1w~JHW6(9p?(*v}Ci!;y)Zsw=e&1Im4Cm-M20$G`2 zdxnwTI|_S@W!X;~@6Z?hoPb_fS>cm#pYjgQ;GXx#y)%z{yliV>{ECk$$W#FvgHUME z$W+PL*)16{Rj=96l;0%GmrlWGHjp;=xsE7}LWZTp5+klGSHH^XIsi`f>pVU3FT5* zyh2(?&tjbPLwMls;U-u5da-WPf^{REXo*{Jlj^0P$Y)?;8FS3VMId-uUMV*s?o>nC z@X@X6MvpH6GL4L_^YEHSc9lYqA}jc zLlJ4%$IR%UW|8-DTf>4CMSX);HXpJ_AIYGw=M9)ukm3dR?4lMk{WaVV$SQ^R1+qd}`U|qE$L9l`c!8|Y72v65{tdEXe1WXGksNg|r>X(S zDyLW?N2eVlj=Vaasm~ABB;G9+xj-T}RGUcn<6&?y?DrIYFH1OoP>uLSA#X00LD&av z&pW$anB;kB&6$v%A+1H8LsrB^UXQtlau<);-qlssi|i`IM{;n0sG?}KuIIUvtqAf! zc{dgjEp^5~PNsY>#DYy7mYT68V2*CG@7KW5b|BUH-ds717zyl0Y5%Uhq*B!Wy0Tv? zGKJ@gA@7k^v#{J6`Yo_ms|ZxZ4LwbJgpFNj9fI8jXJ_d`;saR5+?F9cZ)Qu|Y(Yl= zB9pPO)@pC_R4VN*sk;^v`A*I(^^jiO9KT~3$wF4gX?QEOi+T@{EuF%sZ>Cqeanm|K zd`M>yY}U`^|8ufRIP%|-RYiOKJrD266fe(yjyM4oof%x9ilQb~c5I(lFZe}x@t02O z1EmQsNq96B_Gh!IG%e}Y0XOsgmoJ+9Nz(|NV>)^W4iEH=b}a@l--9x8RHEjnb1k2i z+VYiYl>5!s9v(lBZ#n5><@6t2L@%yFM96{gol$W3bS`7l`@rc|Mn?BG4%W31gK<7e zG4GZcDqMuX?dDE-tXkH3urzL_VqUC9rkw|)KIQvjKN+L>vk>1z`1?KYtoA0OAv|dk z_HiGV-x{@_Rqhp&*25eA62pA^k$!f!L*%f(`w}4=MofQuxII|(#vtq{XRthjmy0yS z;fr&;qE(&>)JWyH1xDnGcHdMU2v*k?__Qm|K6S%h&Ce05<)=s^3y*t>%br#Ty3*&# zm#X`kR_&h%KrX%KxXd)7X7B65QJ&gS(g+Lu`B#z%YS`hG2W3WjAa;!Gcd(5`V`X>^ zxS%heJZnV%zpH~|s?ZgE z-cW9Mj!$4Z*1?)sNy5R4{rY@#S#!be`K-ZR<>BVyLeAf+r>s)_zAnD&rF{-+aP%4t zVu$l?`Q+~kB7?`J70I6UCby?Lo~p8@v>2cr*l$fZ`^FIJ*KQ%%t^j&o8c{>6__@h6 zHHCZV9CsAd`jN!JhR)#=E_0vPyMR^5NZ}Xip$)X%Djm}VG>vQKMa{wx4hnV+d z%5!>rfj_WoK z`YK%3ER?9WN?1%W@oOpq2%ZlHe zylj|yo!_j;+`bMn7&@yPI>Yj~ou4NBvyhqj{x$b(a{YZNdtcl?V+Qd-L*i3bUUEp? zjPdo&Nv<_6mJ*UVKJRg8E%nOCOtKU9w;Y?V$5<=eb2@_;3-^hGp|xn10wR|)AC_It zCSAE5jG%utRJ>7&hb)U$_u9+_mB^vU4t=LF=Y2lLnLAwZdE(p~o_nhPcqA&~%!UjO z5D}bizn6&SDQklDSvB|#Z1xYM#|A$PnIw`Y%fg$4mOjyFwjRQl7FxtuDOyAX?3tpr z)Xy=~vN#LRd5q-!)wN12Lo8c_MI5Q{DRlxZcr542^aR&T;ac`I1a z4H;ZD;UG%_teOWGCR1|bhf{KgT<$;WuG3Se|5iP;5$5-oj8V2A1`_AEC*l~Lx`jgg~Y#VqE4z*K%b=a`8McqiUXT(CB?6|Cc{7chi zR`-2BPkr>VXxHVct1t{+pLAHNG;_hKp9pSL_>CkM!6&Rwa$9VMbtMY0xmLXw=P`n~~uXm(f=gJu^B#a{&dg^w2jT!*B&=9 zRYdBOVg(Kga9<`Q5x~q1z1OgE1JM|9rB~@?pwTD%06N|CVS?&=j30@6izBm(OilHx~oipgCV(z{A=T`OGUGI|12P<#= z<@Dw%-+rjY zVM(>ud=o}!!9|Xy)e@>}^9XOZ7115(_)l$;2`t6>XT3mxKv6{uBMf_-D>0-V!)?hn z@w27fTt1kQKVr73uU(?fTc9@h{s#S5+_j6>fUOq{il`oFuzd>>is;=TiY$ry05uPy zF+_4TBgoJmUJqH}-~W{}WP2cZj&FWMD4##IaW?FD4{QQ5B9M2g)-khhcz;Qg(*7p% z20e-So0SOU@C~`xSM-YuH5SO|TDc~+rt-eAIY@bd<-#MIij}`}G5a~h1QZ`=cFt?e z^(%FlEsbTvkZY|{1JYJuW4`EoEL-cT%WZ?A(kaWYjsIAYp|+>~(-D{(D5^_}fE(6g*lLlN4HAoHChMIn z-nth2t=NE4kLQeZc3)ygQf~eTWxt@^gAHQ>SdoD{`o_8>36d;@Y-ak=Z2irHT#Osf zqAonmoaB)G{+}Bli^PtP+U8{AK{JI!OSQ@)X{9HaU4|4LE!>-xj1|1SnTH2>C`ee~ zHuOmrMgu;$WqoKJ{*vnm4W3pqvooF_s1c@kKlh@m>zL~A3Vh@*c-z+nI$R|#8(u^g zM;=9o-l879oKP-?c0KUd-E+`8-Y~^LPPe{jUGT@_Z+V@9%Y4-)SYQh^#A+XyecoT2 zAlnbMzQX%Oi@gQ-?f34>!C~b3Q7;KTcY?)x8w_#%s#qT*{a}SB9>dzHV&WE98CW@w zfoSxhO9h&4L6$KKF>7_2B=mi4ZaCx^$LFd5&3Fy*h4U6BkBgpCd<#IX(T0{k$;=^B z5FYR;XZ#GMA(SS2V2J6lQ`Gf(aiDg}^tQp$(zd$EUO4-6Y)}jgPt)-R%fdi{O^U@M ze29d^uaqLY5gw79p~qJ)LVlH=9zG?>Ka3EdF)Ujai>S_%izT=D@oZhrmo-{&nTQt( z`>VH#zs(%dYs6Rox~2EZIVJS^V3hbq97F?Kd2u%i?qyXE90~=AJT05pTTXaJ{5u%! z*c-x6A~QQ)ksKhO#|Z>%485ayGHR`o z087?C=@IL|G{_9Qt&6b0Wv^&4(c4H<9~*0rTW5ji@t~l%pDQcw+aS;Gpw{Ih ztkVJRLLte8>V)BiyKr+Ycbm_jFT7>NSF7!9YJSrHHfR`^B0MqO=&^C(CU)tyoL8eK zto<+G#cAKUD~S@<%5dB)o4>nVJr`vJS;sHKd(KA*^XZhH$^!Zbd z8qiYb!>G++2{c=(on3pn{2lY5VHuZJFWYHG&-}tLyH;=Ku{a!Tue5xu z5!9n_FOQ~m6sI&3)%Baw20`*{b5iEmHD_Y(-Cfp)O1IXo{?V(8HjI6BrVH~`mKCRz z;|WQEO(l{KMDJ!|M_aRXzs*%h-_OG1!=u1g*_D0$zREp1UTEUJ#AL9TK5qKOrn($V zQ3i|I#$mF;UtZ=7RSzE2-VZT*ym0|?7Ss*}0Ku5Lch$Knzcf0mRxzU)adbD9y`1ic zuFDmhkBhfqg!nXXZ7dCvSK?5{X0dKPe}%b@eSp?J zVyC-iN)$paR`42s93(z-Io#S4YsLW8wCa!f+WfNZ(ruD&sX246G<|qfg20vcw5#MK z|2d&Sdp${;b`f4lnT#)Sbp+$?O06`c;L42GUbk~{E3oVKI z3Vs8F}TV|1@ywJrn&kqZK^Y55TXj8GsE{|P7=M?Oq2oZ!)8l_F!)Suci zJ$Ct}H{*6G79S!WAD#wzhj|GoEF2%E^(AZeizZMu+0`g3$TF4lk$DMyHCm9}&O-zm zBK`=3DlK>*Z(f^~u5SrDG|7y(11=5&9Fv2yE|=-b1tgX*x75{80A>Rj?osYHyp*r;{g`IlaX`?K}O zz50Ql=GGEUP3hN8^0<%Xt6u;~WkhcwYXxD6pz6n%8Q5`E{i#Mg5D%}6i*H^T#Zl3U z$7D6cMV3`7Ot3*eTqf*DQbbtNns|D_qRmZl^(8{Vw;KZ916~`lgJ1R2FBToK+9rIQ z{&SK$poZHci}GB#h}@Lh@Q@rFW8Y|}Bb4A?R$ihRH9deS?88S+=z;6EEE^RDYN*JV zXdz`s^;^9_q#qz44&q-_HmZZ4|3hpP$a001q%Q3%dfq7~SeQ`#NKYjZS}+_4WIo1k zf(dLXP}gMKNy)OP+$RJA#iE{&H+@(X7AeW}Bo!%U7VNhljThXqHa%ky z?RF|;!FDGzr~25vi6ut1r0+ThWu1%U#oPq8x#-k--Y0?^B4;Eb5Bj{wn%)h6fV1sn zOYp#f<1wTpD?>j3cWqnVnDPDdVfD+0Jx3CECExJx=!kngCQ;y*>7EusoLR zhNAu@nU?79v#R@wF{J(@K?NWWs*Xk+!C76L)M5SJhA4bUD+=#Zk=Z_5kpZRvSy$*d z(7(?2tJBDDVUKEQQ({rYh(t&vG!i3eDLM+H5A)C*nfTUy4Nlr{mPOU4%)mfeZ=lTJ zHbQT}*7&6#*x=s*4D>MI9bG`I2p}n55Q{|r7sP^!sTM3JuhkTq=}&^iP;n|=MG;rg zoa3F7U6g{_(-?QM8z@;(T->gj=jP*}Y)0?nKt(Zc8^y1rc}=hp`Q1DjR~>ii@%xee zW5*jnHsHg+>ZxLm=X!V1r^L&oj#U2CbkG@#o6vex&-Id9nE@3J_&pJ%*vo`?99pwY z#>yy`7zDen1d$0etmcCIL=^>MD~z-X%yr0KAj-yT>z8MZTD8b!M8o79V&voFerh&& zl?eI2N`$^1z2X3LIcq2kd_R7}AT*z5N{f=1X1)C*5rTh!&Nldx{Fg+iMj(>*-y}lk z!IF8O$&`6*#&A1KX1*w<4^zH!@l>Ezi! zHQyTLe%{cfLrsL15X94=?Csj%5~a!Y>g`fTs>iUU-_Y&t(m!c$>jpNwG+*u>b&2yO zk$+BPFYo>`3-$KLIvg2%Y>?jXzn})+DxJE^Wl;649y8c;e=!ST0cJr`+TgdRmEo1@lH@DD&{U5hbhKyHe^&huTj@iGs zg&zKL3$bd6e__1F%zJeU%_zKYD$oAo7K$+aPu)VLPB@n>3NLP<`yS;5=fB)StaSey zZlQhLf4YUPKeePG3;rLtg_i#xbPM%7Qv6@Jg@R81*WE(?|K%3?FSpQtxrP2;>lT{m zHsyMf898zQLaN+?=K^f%k26xIEuZ>wKiWB3 zQa1`b(A5wkHxV$bkn2@Jj1W5h{9cM z0k{PQ{DqGjjyBKx+Gl$n|N40CZ71rxXxRh%!h|e@Wp@0$Jt6+imMA9p_V*C&)%ktQ zGh2qwMsrghapI`Ll{=4tIOiyf(Syr1`z@9dmRA6Ox`}oKuQmg-YKC`s|78&;#(LNmH4afJ%p=<=>5AUmGu6N3G35| z6?u+)s$Vu1d4|n+nj?+wduBS1-11~dzs9Ynk|IbN(5R(wR+%_sbZf~FoM1jQhQ>^^ zbRPV6h^(RB6EqqvT|o{L%Bmo2uuI<2sd3WQnMMamxRh8oFDqgG51$$k;b+eV40uU- zeJICUW!^uZLXLMN=4&@g^ttYwvxlGcodRCmSKPcZDPIJ zMJ{O$pzH6m1&;k~aV|8gA_5dbIZ$JGsm+^BHu?6uya^o&)MI?O8+}D7+XQb zwW~+IYFE=j6}h(of1b#d?gJqu=>MbrZ_LY^!f3wwRC~t#T~UE$mf?&$GK}NW41?Z` zJ2voxRt2WZ4EI)pKk8OPlrX_*kGfOEFZCIQ4)xmdU+P*FZR*%t9R6@yccywE&eu%N z-fe$N+a`~@Kr6dsNh5w$f z5H+RFgN4i>c`iM?nBi=>q&U}~B1T#-`r1;LZ@DoZ@CLD#_%zX9E>QHB9B#I2ZM$ns^%aw@Dn);1zpUuYR)I z_VR7)h*!v29b@P8CYa6*C@|RK%z1H>trfx^p6qLCOLA`>%FAD_YGVPqLDq~HK%*jw zgCQ{p?cBJFCyh#LOtqzQVR=@K60RrW18vv+9u=2b4*%M$# z_BClcEdhH__ZFFHz?X5h-v`4oY2RG|d(ihIz#imIUmBRpq;!#k*51#5n*cV4N+PYG zDg6T)8D2R5;nkIeruAwgM3p_3Y=0^IJ^2|@;vmAZ{f@LT^P$4|@@XW@{f7J|zOk!A zJXf3PTy*&D@9ziQ+?4MOu4jKTe?E{{cViP8#Loj$KS0VUgHN^5LW>UEWsShlumt zUZ{&#)oQa8y^JfFwHNe=_6{9XC0=emVwXCsx;h2Kiy}30e4NfKXyH@{JP7sQHF2mE z$l9h$Z*UM6*t`=$^BqXE>A7%T;d8m@u|yVfOl$g~nE6u@BLLYO84<+Xng|fmu_3Y{ zviv|MT!z%m%jKMKtgQAb0XL@()LVzB`8ZarPY5b+5?EeMa5L@GbW&3)yY%Yw3!AtO zDk-$6uF-d~@({N?_Ke94nSP2n%qUQNfbnfrZCZXRnjbwg3zGk`1CmPMhkb(^xamX5 zx@H<`1-}y6l>>%55Oz4Kwa*x#Igw9y23UxmB)AcH{~;lon^%DGOu`yx+6bK{`|@1@ zkBsmD4_{{Oxew&W9|_UNedzE%5+Vp8pE?l)w1TWGzyll-)TCs@kNMFt6@7tij@Q!d zp38#W)g#We^_n8&SnJ^$sUXItBEaFstmOod9d+Ul2{Xa*&N=rjBrIVxZiY6JirzDy zH{u4($Ml5Qh{w(&Z{(8nQK*zkCVFtM=04XDS>`xb#^|8n6JcAhfVG=t{bUFtD<{r) zNRbwSMlM!E`ijEYA8NEBf;iI>MbJ{BqbP&G6*;kpQJB)(Q_w)kW7s0HW>1GCZhUIE z@X>e6S4=)pA%wMr8>-yZCDo{NU~BG&Jc+&m^dw!a9Gg1igfn7%T*lYz>wY~PDK; zYxEy^Tu0pRmRWoXp7vWGolEx7H$Bt@MY=a3L`c?6m5tY$-W=smAok*$wyb3Amb{aU_I4w*xPN%5(j;F1vdV$JV#vKn(3kktb%;5!h%p2J&!M)5ohXU7%kVb zn7P*wAHkdYeNnBx;=L+91B;n$s!6fpyC#lBIsrre`ObCj@ z3;pRG_!OnDnU`Di2P`F7bawk!zMBK3Cbm$~>QkGkCKr49eAzQjND}*1m8oib3A9$#* z`D{{^rY=}5sG%aOB#Q#}ygZ7JYqrS{7B6W7xI14IM*bu|Ck7TOO^ zUoZZ^eOgC_#aqH1%Pr~ZfL-FzzvOh=LLwYe`SBw5(EX@Yh4c8_((%iC)QkKAQ(l0x zx$9$sGkBY+H0F}MzbfNsO&%uFdjzLg8=YTG1#mVE17IZ#f8%T<4cBNG|IXPQnyz_N zN9)PfZX7AcR25%NYEFNdP{r3U>k>xA&HrYF8aKAA(!8?u=$Sq}0`SKw%?~$!5Sy!l z!gx>f5Hl?n&*F4^77&LU$*XsD+~(kP`xS;rDZ~}b4aosbB?U9IR2$ojjL>AXYsLAg zdErW)MWjDo9=8)_OLSoe3{qPQK-$WN2h&~YN1drKZUL=e&jw6z? zw!$JzB=scaPwt77QtUM^(voi~_$I`tWxBnx-T*)Ft!w{rVttj?KijtL*mE(XY z-;`KRkaEd2yR#;5+%eZEK{#5?bOyc~Qnr{k{%KIsqOFAE6{^(s#g)oJbDLC&LP^3M zL?}&Zj{Cg=6EdVP3nU|Da?)VFv7;?C>xu%C#zVew?s=fxn0fJ1aRTkgz`{)9nkhby z$O|FjYfONUL6~-e`G*jh`A!{%GyEc&n)#`@k z*6)~si_vKkloiYplxN357cy6ch2Z4}auyK+KHuvITTygpCHl)%1`OwluG&KTy2Nua? zt$$NQDJ1P@QlVSF1(~^Gx}z@G-AzdhzLGr_`Mo4=YUaxGh|=MrZ|)vD?|88jYIk?H z)2*DhQ~Dzp=kkx{Y$4A*>h9@uU@Kzk9P|r+Ed#O15(h@~bhW^ELz;Xj6sbwtkO7gX z+0mmofxS6`;o^NlAJw>{n4kpLH)7i?mZ%X^PIHM_hA=d!GqL97`?o-^#N9!nq3hzomO+(Z%Up2_GO|O1fACDJEP_AGQdg~0+UB6{ zHQ53>#QSsOqHtQ|IoR4rFS4i4EWVIV>bH4&~O`ko!;$p|S5< zGCiZ$nzBy4gnRG*Sf=*C`Y8w4&hD_R{P-{bKr*UB@)<2O_WxrQn8*96*0Uk+0JRO= zIrGIVP1R0oJuyhuzw{@E2(FfTw#fP)XhmH*J4?O7#BXF)AP**Gedh@ZxWf>O%anv; zAuZgC|07Y-mzlU{`8lSFt=aB0!*X6vcpP$s)q#~u#VTXTEsY<_=m>`bgUBh|UKSqr zy4QFbA!>|fyx;ieHD)rEcRPgwW-$@#Q~=wMNL)EaSE!lG>gVExi|v#e8~E&kw9lIn zQTNuLN^uCfdlifyM6r$hG#M6G#A+}aOEsz{QqV*4*26?^!@_cDg(zX7bSn{R8nT8P zuOsbe(0=Ep*Q3wW{O})ehWu7_LGiIIa8nmg9CIpZMHc^q{H~Fl(`A{RSySQfd2zC2 z(j$avk^2$@Qxr45E~PH_=;`(Oi_@h?STs@mZ$HpAMebNCik3u8QPQKo@vl-ii=d=) z1hva^REnHSuJ&~poBETL^7fHTT7PwHPzUdcM2(_jrxHUM+Qq2IXBnT&H@wTin9vm% zqn3nLYFXGUbSlPLmIO}l@1@>1C{{lLPlWn!{8Jupo#Dk+%y6ccbv)Tos#9M4-g2j7<0SUKP5hkHn8`C6HZw-2+AbZ_ z&k&oBGKfaRU*4Y1W0y%1NiV|pJX#k_j^rYD)_(mSX!X9YtM<64QZgxH)w=Do*x1e*ZIpB2lw8q?sc!V_Rb#2 zjkGGS7@YEq9vP-iVN<&t^iBm{OVaVz(8c4+b$u$2UiofDpw#WD2_EagM6ey!3O-fZ zsO!Ck^pD^1UVH|n6}9L0zl^z0FNSdtWCiDh&saq4x_Vq_3NA94p)x-a0tDH@AphxwTY&$L&LjaTeG|bYYT^283Z8m{GB(UH8JHLg z-ovAK_NlO1rVXL zhszHGE3!IHMJ`(8jTLevlpMic9LeR6j}lPr>t#!SNENS)PA4=>*N#Qmfq347JquGb zB-=pA;9mNt0fd{{yQ6*dOQzT+FO2ej0~HSUS9k_Lg{-|0LBn&C6^P5i|IDKi6>LU( znI5B;X|#fpC3Plhfj?lBX;h^ND6xWSJ6_Vi7fjMA7%)J!6r98yM~hCQMW3Sa^fE)z z6zF4@s2!3+cBjrGyhA?eRY$gnqad>r3C!4O0W)^)V*L@cY@g=O@2_7ky$JeNBVrjL zVtQ}zn2B&$rswyK+j5LuWa8cfS@-d?J2mw3Am>y&dSRU2C2ZOqA?OgdOoL*MO0usc>))cqVN4! zXh&?)OD1_9M{}LG0cS(B-6w>RqDIh6=CTx<8b8Od5RxWxT*{{Z_5n-CBGI~@#iysd zF+8nQ5N_$m9Ye;m-$i??n_Pd+w3W!3kN~Fh?n2n#Pt=b7`Iyi=UbrsHs|)jaLXC_% zX09CY;`~zeg74QIqbGXwV)0`G`ev;qm<>PYk1{@JcYKX(!ZnV6(NXk`OJh6}Y23Nf z5&Tk9#VJo*^C8ch2C;dGiINZXl(xEbUyb})pvr&{g(FQ$D`!CB3|uIr0l#s%{2hnUC9NxgCwb-};F6=C;Dnx4>YXPOQ5|UdXMB z((l$J5bhsfq-*{JrN7l#tA+1BK~!L1I=mcI+j$PpEYgLVsMADgiNWm))^W(ahp1DK zGEM?1!;x0d)w!csftVrI4oXk>#e84KdjK!Ra zx|JK^qKBU6R$1v>ZTaiX^Ggh7iAVP%&s%@rj4=tXB{{z03=WQFtszfY0B$fz!(9q( z^E#)tOUY(bADEHac}wNX|A@7lEXn`h4<=%y<+{;_eVDSlIDgG#eGM724-i>QXPXms ze;4pjQQYCbI4|#{mxmi{!o}o(_w)Z1T7j4-*b1r{{^$i74G!15oWY5 zhvcym5gq(UE55i`(WP_WFL%gWqpYO%rl0~dMELp&{)wx4Pv3Fel;$xeQGCS7-s#b> z`@7`BnrG(#~Z2HR$wJSPj)xaN`M>kj`5k z3_A465qW7>LeQck(vh?mpfGOgqcQDc7b`~>xsn%57)a^p^Uib?iS>tZpiZgHvi0~^ z5gWYdr+2$R-@g$HLUleAcNblBp7M;3^%?(9w5}uTI59B#zctV}aLdD|UV5u37rmFD z-fJ)*L`Sl+1!WKVJ$a^v^d})qD`j5ulKkj3=q$70E398e*uTDfz!Ab!wGeP|A&sx3 zLKI)ewV%Epx#&bXWF+%?`ZO)eL6=cNVK+*7y*BI3T~PJnIC1u_dD{26nrGQx_8E&7 zwI@P6@ITp#IpFB1(Y;5uW(CDruL&3K%-3%?v@+qNS5cDLh=9lsVhnr+6rX)#i|99$ zf|(TaT?fR}U5s4cwSCBr+pZhk0^6K^q=>HwdlBwoA)4NE)jhcvl{v{toJY=>58aFV z?#O5~SW;}3F5pZGg8BaFL1CWU78y?cbVcBt+?k;HLVwlZ4=He zfJX>;&MFgi5)nu4GmB7$qko5<3`NZm^kl?O;^;Bo()Vow!SGCitz{6SCIm2Sk?Vjy%KR>)jq=Y*wcj{a7`%v$}4t0-lLGM!sc@?22p(8GJYn0O`74!f?$7qL* zwvHz5L&usxahuD)ob@2mftC`rb^%q@045 zX+BSCgg#oE_7)(3nBka~Q@`S1&*h6^}N%&P1@c5Y`m9T21)6kpJ9Th*X%on~S z?G^md*8$2DBgB4v1UXXbTDu#cJM->C`Z5m(Rb!R!Ry>7a;?>oEOZWbob&e z{e8r!tg_AE04FZ6r0l#E8kJZWL?4)0;_;Hs4C%VQPw$EOPYDMJH$VE};#|QX-glW8 z4s60BvvPxoR2Z@p7S;iX;8s1j_u(F!$w+n;iL;}t6TVbT6~2s~e;oaKVWE{I=s_1& z-y#u1y9{Y&(62+Eli9;CK)M-@;g1aSaDqbp#j*Pl;=Dm!vz*+lRmgL6j)>+zW%`<{ zGM12#e3}P!?gpPF1?Y5^CXhCK>4^yyv&M*KCT!hNdx+lhPUKQnm8WJWW@~$Er_GB% zM-9)SP0B$RYS-{VFK{?Gi-7lO+w%JR4$HN86o=M!+$~ev5k#PC>6kkK)^c*Q7V3Qa z;wP&(#7Psgqru={s7xKmf$I{$zO7&z$)MG!$KED~sQ=TIKPfb%oHRVak#f*rKBTzfi?wEkJ1UAm|o=U}gfTAI2iEwY=S6t4f?*4-3Pc6pX$#%)Y{UB_&FNly)x7 zutZ^5;`(*8-Ntol@~xk%DR3la;-R6grBgH!vAEa0T0i++j89qQAwM&_b?ceeNpF>y$w zFOY*|lj56F+mpo7fEF^)NscCX|E2AnY>$^aH+q^lByo}h)zgz409=R5l!YN z5G$fC7qy;C9y#@bg01`DPq@3fr zX}#8az#^yL`v*ffks%X~YAt#pO;X(Fm`u0Wu!x1le=~)bb`?^)qqDCy7PY?>KN#Xr zQ+R}E0O;llef=pQk<;H2F)mxFd=(ysTtzp_8p;cw-z4QgetXhkozKY|^}6cs6SK6- zkm?ikIxFtUA*bBJ0uKH)Gpc)VLdC(EhZWb zQBn({7H04LlV2;0KIIGKHRL=(*d{cgP?3P!7hHy&zzF!<#4;3JQo8*%1dS$yqBx#} z;bNCY3d@m|(_EAOQ{$(sGQ3|ybPmMgf{e&RS5j7}u?5Gac(cF07c~!%OipYtK;Ko3 z_v)c}=Az64Cu>nGZb!hF&Uq3FN%6ixgCt@HGD@H%#mbC!x11m(?dh${4aCDW-H>A2_e3QTL8dYOae$Ei_!t$QH`v3Hv$w*>d$R zRf4~9DPJGXgp2B{(ycp|DpwDMd=@5+*XGsN)qd0#U{u=ltXRDuvZuTpxScGxYUgrG_;bnDZ@tBxW_nFhu0WZo!NU}<1h zVj?P0xHq`tqaukLb7llABE8DAl3ZeIMQeishbfSvV5zDDIf31+jVL#I=Ly@Gq5cG`H}?wr(o6mN1ixXAB>i-AFhD z>?kVUCQkssIR2l&5)TBHjQ~cDViQsItHR5f<#UGiFKlP{BK zA!dW&Io^t`zGj2cU=V2m+u8CU2h7Z)??Zol@-$y9>F*yew++K0(6}YH?b8Z&dN`Fy zNRVO-_cu$DJTMzPu2x~iXQSD6o7hf$l+IBo>x8t^^ptz9Jq4o9uN2Q*`gs{=zpX}2 zh4Q(uI)6Z1lX5JJcD58spl-I*2dPDj0iQ0hcmf@Yh2^Ncv`Zld^mzA$s>pKxU zVOX*l4zD9(M?u6<#MH+^*=)v=OdF)!Y`s>eB$t(!f9(c=K(#8yv33ll*Dd1H%yvg< zOHD0k^7S?vRXb~ojfZ8>q~JFyXkbRb1RkH41@1)REzCGL3$NKO1fM@VA4s&lFexj6 z-A`g8S7T~i{}H7gmFd|xv;(aGBh=+xC_D<9l32jIz|_boCE7h-Fm)l5qDwAsYChZd z6n?i9r-nAqfAPwfrvW4?CAeaYwDihaRjDtVi-zw*jEIsCH_;;|I4O97S_03QLCg2^ zG9D>U2^MVyG#GyPD9RD!8=ZeMeyr)_s5$+8I!hWiPRlALz&la+t7Jm4I~oX4$ZSaJ zS>V_AZIi}5QxEo;j{4Hj!k<1#Z@zJQe?XK|S@;SX09ir6`q4Crt{B}`Rce}9W zEv@8M`Txh*ayFJYkjrmBZG8qdThBj7DZ8q3M74txRH?b#H9Vfy*gE zqUf(Wk`nh&D-nYvVe$>zd!Hv6Q zTs+)beoi<~YQsUm(GP+_zkD(r;J3Q~d|L$(?$27}PXB*u$(tjO9RQ|NWRY@@5k>|) z{!In|?AMKgF6hC+w5Hfgy9K>D0KTPkc3kKczORAa#0XTSS*56}7-wTnec^*(>0CHW z!_hh8(lNaW`vN?Ke{tUG$}N;uGhcPxtAIeloD|seAT()LHWedJgqXtLDm5!9!9fL6 z4O)DM@w_$4pG)MJ$t6C7(KD8c={6%|e_a7t^U_hQZ1vw8Kv*Mn-~#*;R~ld@Mw*Lo zF|;l73(5VT|3}ogl~wr(P8)RihBwuXY97ZrciE?4ws=Xme^QV_>QBxl$1^zc_`1yP zY}u(00?~TPa9qy7^Z!0Ldx|%hs8ebRZCMU{Uytk|9`RmB&i0cU)oidiF@o1*%S|D1 zW6k=#ZE2d=0)q%d-n9E(MwSXE(6s6nDQ{7ywIUwFaB_p|KRDUTS-JunijzeaQKd6` z0Tms!w&7{q?nv+aMbVD@2VF@Ac_rOD&yJJ*_`i$f>Dh0QZHB)&iI^Dw4&_titUSQd zcz!Rf>nT@xdPoRgIg};w`4wJ)nEww;62g|MTam+7@oQfA)K~X+_PPn95<);57~n>5 zn*i_sh^cbR2eo?JG+7yV=uMQZZp_Q*znK@+GaBbAhMM&AY7Uyv`d3KToie1N^m8)4 zC$m5SADVwHj%P}OTU~|I9vQ)RH%2X45D^n-JlKt>@hV>cGEyl$c_?0zi;nA2>p^?p zxIF(ewbEBI=1+2$!kEQlx^}@hQtjBz<2;woiAQvZ5d=Q?NOU>v;f{LtJo7#+Xy{ETiMD$W9_!F_dA&t`5nPe zgEvAGR13i3j}Qjt(s%y7pOQ!^}T=ZX@K;-;mje;d8%bBCIHhL z3L8yBps8SmR6PLGn{~V=Qte}_oC~&AzSEG!QS$_T^YGgzo%7yT5C?dvB_)}S%5%T} z15zKD(M#p`4k-2#NfPx?e;)WumH7`azmR1><2#1}^GnXE&C5Y8&TiB`oQ?m>0~>dV zC;+>5(MOzDS3|~Mvnmc9=_%QkHk1M&Rh$Jp$&okIEodbp3A%?i;z1 z7U)T4AAX^mHMmQF6RrF49>6)#p&tCw{&qEwPBrK*nQbfUuK0?|TrqrzU6uhtQ#OEb zXRY0MGc#xiPh`$4hqfhku(z$K1;rY)Zpi}-kbZtL_{q|kbKb@|XLS#_)J;#xl;iX7 zx3vdepLAwO#18WS63C7bXcoLMWTc1XamI{GnFH2f(ytOW91p5>GJTATcf2Y0(AL+pDCZE8g0Bs{@&5KRj#GnG>#emOT;5R0-Xn-iV8E5(MYJp!k^cV zqHO?7VL|?jV2g`J9MaYT->@Bjrn!0IvpB4GcW`7a@E##EL)IQ2W$>&|%NCy=*w#8s zUNm=YV*~^iiCA~fHq}(OWGOJ` z)wZ0g*uCtbdE?p{7r&whi&Dh7q3LBiq*1r4Kgfo-PHr69oweX$2?=pA+hGkM$2AIP zu4AIx##?M;uEP-a8at2=i~tC`3e`K%Ye}keF?E+76;YD;FmUNxR-l+Lcw=P&XGnwe z}?q=IitCm|BGYH1& zjR{3vbRY717}oX?j2pH(qyBg!^c3gLgNAzE9!OPe{UsXywQ@U`n%7e{qm35kiywW1 zg@}#F%%vlUlZmp;XiBq=DZ zXjte{g0rK2g0M=qAqi3om?GI>!;mB-QA4-{lr9~4N`86PNsAb1(6gpypko@;JZ^Vw z$*law-3&aOKouaZLp%?nB z%4y6Ztk1b%xtXOGEH^tqUj37sIsKEHIRUv@KU3V-=AU!z7DZ$6Y=W1 zeSHP78;Q9C7UEa4bbFJ_WyF#fg#2*Ho92X4+U#8$x#h12PkcCAvCQizWeLX? z3}wxFeA?}WFELv3494_jy9hs`au|Pby1tu^*JUYIBFg=e|FVrqBRBn?#BfKo_u|Mo zLkDD>=(ytT_SNZOY}s9J)M5D;9pFincQE}Xgw+h2xN(l^Z!Gbs{x%yOeF*sV^LJm^ z(-#`miyqWL0{+T-H6+UOFNbNE2pl4maUFe6Ll=wPbseI*gX95MkpbRf46k+)O6ND!hDQDCHuRWcWc}5ej za?V#`&VXADmS!MTuH)s7HfQOWdFjjv%IZ~LDOEnPfxjEYYf1*-9G%6(^x?{GB zvRqpDXMH*rbvmtRwvkj{Vm;Aq<>2IP_NoRQwg~IouP`-|{8gr2aQQ`jh_0)+r3BQ* zEgcz(UtuF=UV-WMbWTT9Qm}!6hH}S1g0vx#Xfk>1&i%Ycy&&NggzTu`%2^HM9weX9 z{*z}UCFY<9mND5Z9()#ZooSl_;!OzmD7=()74yH^E$gg3zzR^9Z@#}?UY%N5$2;{w z_*(0EVWK$HHw;v6KqK5nhBlAV?{m=M3BPrOmx{Zig^9+Q^Jd&N>b~+7!WLI{ZFI{Eztp`0J*&4U23| z`Ot9uy(*pc;HD?tXhy*5`b2NPboFHo6jDyHosx81y4CtI)3|??gv?W38U>(PKuC5Plm?#;!-_s788$F-|o8 z6A)*1+q$1h%IC;*l|h)-KtdmUNER$Go_qgE@pMcKgDCA?8Or|jXDI~|FtkfpH=&~E z!Z?%sR%i%W3O7uH_#q*&Jy7BcsEvJj^ryusE~PMI=aZQP&}lH`qcTTPgMRCzW`(pI z>P_Vf8cmT}QOkd~fV>7+p9ugpnuV71s5qfE;TPk^Cp5jMXe>51sycIPXg*tYggvsy z0_Vv{@^S}5Nfm~JNw=X!s;HOM{@^zb?)SfiRsH^e$I;xd z<+0o?aH-KSyPkip>Zzq9{8yx7`$lKpN2Al$BlpDZx~AGUKHyy5oQh;KMU_D*O_WMH z$)9V`)^K4Q|(@?cW*|uiYP`@_`za z6BTLlL%`wxu410UjEc`&!{x@P2vTp2ia?jsZsD0XyUyxwqY{YtTcdg|K{|DSacz+~ zR+=EhZEU=^F5XJ{FmJ=r+q)FAuT|9cbSzP`zF@=vLZ6r?YoUw$y^Tdy-|S2$;7X;U9yJH2Lq} z_bRll=Bz%Q@^dNh^=P};hja`3IKgm${Ox1XZpIg^Q zrw6KpAIXv`R{fvTdMDB<=rd;CM`I%HFR1=Sw0E z@h{9a_J3b=z^^)%l3*7Y(jnEzuMruLX64P+ZhFutVycA?z&sqNfiD4XuqJ0K@CshI zC7XSN9;9zC>>#W7cx*jEmEo)->M`ZkbeG+MR7yh~%M%ljm;u!4*x0ES)^k-qmpXtLcD|Zw_30$Y+ReB|qwvLJ9+EF~q}p$IfS#fLek`6!^ zZSZFAS%f}u^q2h((JPdd0i|-FE0j+l=Q{>Yd`6?T@$q3zHS9t2E_T4-nMppr0BaL3 zGks4B3ixTWZSK2uNq}y0xJ7&X5FwLZw2l-{zoplNWmyOOg!FROW zmJg296+ZiczQ8{35o0qmdNph#(5+aXw4hZGRy=S+qW|ooLvsJRr6PgvU1_V6IihPv zQpF68>cGna`Z;`S>Jygkoj6V8%blm2*a{6&QpC(2Lvq%|S=KOQ5HW$0y z?`UfJ5TEW>8gpxl$m1(pW3_B?Q>bHtH?$+7F=m$S6Z4Q8EciRG!h-*K*3rY?!9PUvHu#5V0>S?P z&zPZQd!nT4k~S9fx1mZOnI4_sez{|5a9{Gu@{_N;I7ziWs1M(BGO zN?V8}{>O+Wc;12%4}Jf%Uz#{(#R3rE^BROV_m2h}{HHhI*(ikX+TUkZsd!Xf0IKXl zl_X(!fbi@c);YTle2)+aq(`yCTy0DE5aCp$_}sr9kr zeO+Oq-}N#~W`UA8FY(7t(d+Q$rR`IS#6#^I2 zLi#gDQY?D*x}foDv`3zH51J&c14$AZDIGf__~f%2n2A~vqp!->NBK`Zt}i(yprRF> z5NSekP2|+`aAQiF$` z4FcYI)O+GUof=Iq{Dy9;ejA~tAte|)tULh!`$zwww@vWyRM5{9g-ph?FWi*$mADv& z^N;<#yO?=+ij~GBYzj|&HQ&Ja*b!f7vfcNHcH?vNs52tapw==ih2u=v8bu4&kAVAy z`Di=zxW=tNRc7$zD1J^J504>yK`R58ic#t+N#7Pib0#+g(KCw?S-tC3IyJUoJYd;m zan9DQ%kc2IH_%3R+pSbR?!;-c;#_E3>jJCH`>M(8Bu_GnY&`3OK$UdY396()BY2g3D)3?@%Fw1x1h2*%x9q@Lj3P!Drre>yGN z=9+axo|4{2rq8?NIL^>l z9TDFLrMLi3X+N4eelRcS>_FKXMIFrcpcC^MY;9TGu%4AWVs{yDm~)S?KY>Ng18Bp5 zBio$)4|-OPcESrPqcu~G%jdkEjKC`ruO(o`1{N5%JNBYT^#;~_h`5C{ACv)DQ@rwO z?XL?I!u=*>1JUEuC(bU@A7zg5yVx|xd)x-?@;-CE2s7_Yvd{5*OvxMW;X#AF8(4{n z4>86|FYkU9-w#LP4_vBZ38PMZ*6#U*Sq{<14Z>(f{o$T9X1Qd{JFf1LD>)wqac?8zx9BzefZ#zvn{MfC2w4 z;<^u4Z@A3iVu5iP)_y%N(oITnHdr>_Is(n+sTK=zX>R(Jz_(F980-%;!cNM1Phb28 zof8Ld(NCJQFEq8Qx!qB(Vi5HosWEx2w6=fku}v9n+^@&*nlZi}e(82OInT zweYIScbD(Axe#~%REPAlFDAcIag6|kWC;)89%jC44JZ!8+x|iG@uO{j0A_%>WNI5y zkYAOd@(j*6oOZDv;^#KfC!=CIyp%hsQD;0>LJdy#7jwu@Kgmd@wD@BTn@2`kyML)MUR1l63520dZ7&K&Fi3+QxhNJv3Kl7n zfaVu3irrDP7%Ge^9kv;DH<3ah2348ojiK-U;Sz{XZ)UKjy+8nyyd&L#ustXfHUqQx z=~S4SyJcJu-FPF*f4q?;;Elj0nO$hVW6%beih_WaCpZDdLa_3~auTO62Y+g>T>sQw zxd4uSHF~F-)VTEm=s!%md=p$5n5FXK*Fm5@$gA~nojILfehbrQgehez%pM6#EOQo5 zhD3Ao?6sL>q3Epdfxgd>`2G|DEff;>M|r*qnyO}S;28R)~H9yvIGNie>} z2JZ%pvInL?M}43@L^gOpDJcU~zVIJ3xgCGx=}rx_m(<9*n-SD(fktQ!B)U$H)(3an zvS2AoGB&K$FhgAW)s5*Yg#YoY!3u$`;5ZsW^Z&rFf?4oVm~$!&v=csI9kO!kvvj^Zif2RP6*z#A!KUyOT&iiBwK0_H{6C22 z=L7kiUzl=!%OALVQ66^jvK$}~KmCPP!s*BPJ_T;pW8eEkKZJnt+%W0%d)I1XUwF&S z7$8_0F-vv$|>&~Diw>H3-Z{RD$Xy+O@!rBO|_Q(l@-H#;%6EfjcQ9$6(37*bW)4%fDG0AR7k z$12>lV`irgzxi)7Y<_cNhPLScHba`0_LJbYpCU|taT_x3!(w7mYzzN$vjotm>EK zkA_KJ{|dYLN*FPFijP%N8Lw*=Bi8O&{tSK2{M+HL_m9~kbd1blEG=^g%-?V3mXzOA z9>&#g{e4L}FjDBeE;|9{`A@2Y7fbWKo5F?W{;*iRfXBff%1^?K*b43ygr>buVt^KC zL-ZiRB(YJGjpVbTeKsVjUo65{eq$dlE64A9O;kTDS4G_-MqYp4-FN+M2sWyS!3Ogp zxfCTae>zYqZ!`G4N+5&pAv7lK{mqteeEeIsMEY4?P>6NP@ykez@}w^QID^4gxW`2V zsc-73lQGx%aDAsc4Em(x>oCPzTG--n8Tuw)ptAVn=`-5}s z-O0}wB}ZLc=H)ME>d+jw&)CP69yK#0d0yiM`5luL5xK+5OpD!D2 ztCzlHbsvK)J&IKwy052Hy4k>CU`e1GA5%hl-nV5zJ~}Mia=2~i+A*B9X5*;vJ$2~H z=G>xkX0SVThyhJ9u{3t#_*&Wgn46o6t3+bv_*yMP7IAMSv}wTcKWVL2D>dUKZ9~uXu1Ag< z+LTUH9D_{j)_JbxmwB*I?cA&N#te^ph`JUQIj?v+b*?z`=$Ch|^@uu_b`Q0(FK0MS z%QZg`^c!MSPElPFOFdmd$$y(J;`3d+QNe#syf~$ly|l5bkd4J$`-F?N2&24Wn*92# zJ=<1|**o~Chjk|aU7MbbjIYWPy8}R7+ z_aAl5n2(y#4$ivDw4PtR@w3GyQS)SPYfsfB=K(E!d2S*?Qtq+3tV*LFxSsyB%-?Z^ zmTBaKO*O=jdwsO!{X-XGlfG{GJ3UXt1Q|(#^F2h@1;sE#7l)pv%4zlJP|`KcF4S;BTi@H*`rjtr9m7L1s{6c@Ho=7`j9LK$e%iZ8!X}D#H5^6mEhYV zKK)EbYxEyl!PeMYDBUd0B5}TwA3C<(TV1;|Aem`f#)7r-v9w{Obs=#CXi`7+;`Y@w zpziyc^EAKw8uGeCp{4xPNoFf|I;yp>L_ODcW!wU>i_w#!5ZQ_0oEP=mSD`|#d7 zG_l$etClYs@0uu-w>ah(r{Fgm885E5O>k$7eiG}Vd%I}ZcVdD1E((w71>tK+U*Hiq zi%4G4i6?uq3oduYx1|>%hGpFL_PVu*d1OoIBSzIVkhzpUaSz|&Ee+5dNsLrKXmfE- zF__0GdByB$?)_%ers}f5EXs6q^5P0!6fT5}^Ccr0t~W*GcjV3d#m`6O7~?ZXy*MS; zX1hE6IaidmwJ7+42(HG_cU6nF9~3=6akYDb#(6Z>h*SUg4O~RPr zM>a)j&Mtmju|M2-4QKjsF;nQv0QO0N{K=G5W7plhM``0oIt>r1x1FWeI7+`vy;os~ z0!nlp7>GQlJm!8HN9$cPuEtk~_BLV*SFR{^JndV4PO-Uz-5rjZ<%Vu7g}c^PQ($2_ z&ao*4B@PVh-3X__>uyf+>x|vu&^TdV_k{JRN1S_@DsLA&GuUS!vKg0+{&6d>gY_F# z8wT(B5=wV%spx@GB8WkcDVN^3z2J$cTf+F*RLQSx9&z2ti+yZLWtXqV{(Naq;KffG zst*mesq{T~6{bLc_}9^o%(UMM@0up6dt7IX+gELGHUt&wsW05&AshO z-yB-)?mG3ior(UDRb7!8^Hw4g=V>K}9rb?P)4o&wJLM05m|8~Wbma7V|Qf`_^ImLj7 zf~HDf6B5Z(*T7p*1=~3jq;8rp71JBePHtHxC`Tgu4%Rx>_D^-iur=2jX zL{S+(V3SnIQg^u6$+x|~L$_IR>HgS1GICKu=`u0naKCO#OPPV^J23C5$^AleJCP{c zI6JpvA45sukjAx7MulC>PJQe|niI>{GTWxjdyOl;)U~4YhdZ~IMlbzIm{X7J7I=qd<1fynd8(hEwcJg3-do z`lS4fr0oUc#NG@C_al=ycD>gXucn7l_+#hs^nIz58LLgjUXC7-S2B_ey?VLfdsx!*2=0M~GGdm#~>r|Z)ii%WsoOx;RNi7B)ee6~>-`8gToOb*`(nEIe} zSjeRrI-lS+w>7 zA0;b@{&3Yb^-UC${t8~zm(P4_>WEnxTuqdB)Ml|{KFejATq$kv6T+S~&6Iw4Pcb9n zIYc3yoo@3v7!GahOK0!r3X?rcY}Cv*-;I&78}D~tC^iGE|gSh%cPo+?*x8tVQ@#{pdC@`z8QSLFH1YWV?4 zzt6!7!KyO+^R4&L!Nt8z_L3={I=A(ZW3ZB4?#$|(Bd1yt3q3~H3n{cfw*G|q?5$84 z$@_`Mt=^t0?kE1W%h$6~a%;?_r{mJ$T?Ox-(a$)P)N;4F#nrjIW&66}TUKLba;~QY1yDs*P(NeQKPTWhTW$K9_S5`_OEJgzGzjiK;N| ztGckH-AI7}Nu4tejAHBiDUx`ZX5AeiJ)Xe;iP{?NarCz5W&e6oB-rynzyrJ`7UzaZG(IG~J8_1ohyh8<4@ zufoLofkVlB9{I$>wBleVCl6P+Z&;eUia1kmy6VIegA@ZLFTiGL%!&_(_-tk4r5|KU z(+MbMNZRg6KNbBBKcN#2>!4Jdx#NLa$^le=dXR`M9=H+nM_hunrtIPldFAE1A@b!G2}nV_Pn(Q#nd4WtX@xbHQuw#d6cr7=Lj*p*t)M3r zKeI!z{f=cNH^zCnXWLOgYC51mQ6q3iRo`aNGhIQBW07A-%8#`YtMuvP&@uv#H1M4W zrx=EUZ|l=4$?Gd;tTtS(64(j%4eyP6ye3TaGLUP$2Tb+jR%u>0X05QJ)Rl4?7Kyp~ zP~eZO8xt_NW9Q=UuCFTa9&x;0aFXCQlR6dgDjc_=(0nhyNus1cH}iGFxfscI5(aOF;~_4GYfL~L*-ccAH|d|6Y4b(~P;+isc! zNB2XDFWeFK%a4^gch~!}UJ!R2?lq0X#TXpo(qSJ}#&OMDR*#CFmQGo&1}NilT7Qt! z_3Lk=B*z5l4`{#29ajKd=~BFMU^<@j&PyiqWX3wUKyG1Qw^wEUA%vCi3&2 z3JnWlWuSh+Zd~h4ebQ{TX6{ep6}yi+TIB0u+p(`x()P27Ay+;#c+SSBu3hfa8XeP1 z=JX^gm$5Vmiz6-hlI>B{OLIR}QN=!y4t#F=&Yqg8B5y65{9tJzQE@Eeq#MK<>gr!! z&w50@Tv&A}5#s6C>}kq(xv3!kf#swxbaXJCi!(l1cl63}fDW-O72ZUcq^ek2+QnJ^ zjJ>!|ZgWffP0ki2vqelfgLC{yOQslVaWE%=ahwJdhEq5lDJ0t3JoPo3tW>gcv(|M) zdrFbMW?f#DzDbv~`@0WxeU=OOdp0Za5D5{S<^0y?v0M%%=iT;o6s_^=rS_U-^+qa^ zT>jeMoiuq4zQ!~5NV<^6!)vyONVM;hXi$2Or(0E35X&zc$akTZ)mMv?yyStCm^07W zmhrD8w9&cXNJ%l1?o<+-9OW(-nixRj?R;EZRJA!DLTt4UXJ*>X8fVjPwx%!x0xo@9 z99#-hX&Kb>jt?#tmsb0^$Dn%Z+qvOI#qz%MEuw;okyuFFf|9*P{Ml8>g_0YbL}a}< z0U;l1HkWUBSTm!3a*pE*36gAEwSzBOas{U~3AwMYEskX|fqPPZ_D7D8^exV^NYTlL zcIslt=3L>p#I@84O-Lsz43y9}()tcBB%e30NHe|>B=Oz>p%+ezqGNsN>jZDv5M|<)^`sg(Hg*=Cl65zsC|J(E z<+S~pWBHn(oxBXA%?e*JHpS`#`zxobgqJ<#odbc^7Z z12>9?J9?|E#f!0z;H`R}%QIz1>lQGTsbG}l)GH9X_D{-kVxh35Kjj3gnkzPb$Y0jd z-st|Cqdx5m&Dan7U+leAbX>ubrfbV$h7wxL%*@OT7Be$5 zSSR(CljTdw3?1R33#nhBMmfw>K<2>^n-E(mQLa z%O~i^Sc(?h`!S>;#V3Q;H-pna!l^f4DF==d0Cdv5cj=0jEAT+az)pTRA$nv?RCiu+ z8bXSu?Yy;UUrCGLZ!*t)g0TgU9TG}FtSGc^c2&1lWq|`3EPg)>8bbrAo zNU+@NH!iJiwcDp;3~Y@P*=c(!r`2|&4W5^SQ`ks;&Vq|*#{hdFcq914itwg@Za(X* z>ZsgbYSFn(J&`1Ky5Zl7*Pg<7xY2Ox3m}8``Xnn;t2Bi1N*Q94@((jIb$W%|bYpNJ2!@JxG*CsfEPcO>kWQyo$yvQA8pF~@4#M`vwZ$@yy{8EHRzb*G8H80{}U zv9&9#$k%e)>70Tex(-ghwE8A0Fzc(tM^#|aY|nj3Co9mfMBxb2^3>L6V{T|bRFMtS zfLHKM=y$;A)r61Bd~s=tFo%B|EE#=3kt%<_hf0gBfQypP5+FTW9+v(dYyZ<5=0oI- zH3fA}a6)$9=;RVN?s><&x$R7?sdwe0p40$`f-bA(#tj0uW!Ry7%>ZN9gROdi-s`Bo z!rQ2npx68RJVVq~LCMR`JJ&~czWPUooZ}oWYyXpsb@T^ZLTZNv7b&ZQ7-#;*3#s`W z+-0M#vT=7&v2U~I*8P^wyXlAsmD%3AXxTRtmFGNCT55gVHuLJE%AxqbJ;ZH)>{3iThAz#cB%r^ zD^iG?Ysj)T*4<8+T}^D;7^^Bba2qB5MJESuq9at-6@C7;l9f6S>4Zp9wVTlyoexr= zl6+u6B%udssiZQMmQ+F+`)pH&TbT$Wxq^=l+0sJA3 z;So`Ei{D6%W8Br{SIp&kv>Of=y~rk`(evs7t&QgJujEvC%{~$nhd7|5Kp<@cA|0~k z;*jUewKpAUcEUGlnF(#`lbyciV!WW_g@Y0|cP3i1DpUaWI524zo)H=g9DZxd-3-z( z+wfI&X-s9s+7x_Yg8M9O@ccN;ztVg(@4@qq^@sOUO=ocO5?ohto8?0`OKaD;<~(EA z{;f>!PJi+Tn9HsrJ}6Wtaz0BH{0J@t2^cvvyg62i067W;$F{@80uJ*HHh@4QikuB9 zWDkESQ?Z)xsMCa{$cz&W5kn{HGz+bexx}Yz#m{K;`x^#FeLz1>Pw~B7&_&I53icvb zQa4MLpu5ZaKzEmqD>VT5TOwcNkP97ztuQDAziu%S3ZhR6eqHu2BNVKp=)seD#jT>( zRpAM#FAAH^!5l+dxxb4KA%;_1W35v(XHKG39TjD;PacHzno+69rD#@N945)Rpg@Q+ zg2XruNH^1O>^`Y|7q5aW*Aku zq5&&Yq?-HqX!f20wcJOGjAT0^pJY>F-sF*Kgdt{s#nv?JT_9>{M&(fz@P2Rj`f&a@ zb9LA|Gg|E0n#wmx@I|cl)?v5pE@UdZc;1E?Kr2;lbi#IK%M(V#=x?eXtigABMnf#O z!izYSvy6Kme6?x{B6>lIW@8>*#{j{&=3B znDXYizMA~_aGBABu{-=Bv^oYRKl7p%n;LuRH)Srs&-J=qi6d@(f3H3R@~$X0vvRa} z@apXGt_=%E zJngVHVcqucRV!fgC{7DSP|7KM(KZ|f5Z%901kNXoi>mQlw#kfC9`hi=NqJmK5+wjRY7FMQ2?E8;PtnkNzBhz z)&{=4_+_K`qOMAQ-Q0EWxuQXZSh!rq0+^uwtYF{vI1#hMh zB2P*{s3cB>K208DK@)#FQ-#>{rgx;c#+hj=$Kx&SJ>;>IJqum&GF{PkPI_GRzm2DA8B9XgyNDQMycM`%n&R$es)}K17PL|1{dnlJU!$PlR3l>G$_~ zQ(_1@)EI0ID9}m2#k+s|IS52(wB$g8uPOlG|BNd<RUh#~lv8Ww-22^-rXT-h=9JwH zf|2*KB43}oBR}69QV5H>3!MyZ(izUnyk|QboKzMA1!7#XOsh@UadMg-T_$IfT8wdf z4qY}5?+Qi%We-w3{)2I=UQul~{CT}Uy(cPFVP-2pK>edDwZ*MmN{%7v`7q13F>Jl& ztemOH*`@EhpX9rUZif@Y>Q(7Y;OlGK`PXlgj2}(FhQJxm4avV=6wHMEmZBOD zrVtw{q4;{cZ@hS_0z%=%v@G^lJ2(TN5GVy7;2NH zX41}cW*@d^b*YQ}_U;rDTpq%Fm!?n4M8u@!D@?GBExU8P?&BOkRYlNJ{kfc!%e$m-Y2Z5Olx85Q1^%+ z^o4H7i_m^YSUj2BP`#H!a0ODMR((C|k{ z4YCU6($1QZ&DxQM21AQ6+@O{zYNrbJZqLZ+OIG9xohBux`=&M18E>RC zofS7;h6A6p59RI#L}^(0w-aeml54e-xy z<{@75xZ&r>siaf>&AwF<3cEfgbyQisLwZ}XfjFfpF+>6Bzfj3HquPN?%tDfbVrvhx4rRoVg>UfH*n2kYu~DDJOM-4PNGh^OW(AqPb; zV_2uqn<4Sq4yF#+Om=p3Kt~2#)b%b z?tUdTlKc6}sAP}_yn|Vj2Z&z({_R(UoVKN~wqKQI7@SE-z}tsI(8WU&EXGcZNx#{e ziyIHzh01g_7$A}fok04YB2S<>CS{WG!1aRbhbXWxJM{6nm6~1iG0t%XUfEhw_|%hx zr(*Cm;+KT~34MJWmm?`qjiM6$QBjfGXIjf|M$2Sw1-}R6Y_|w{UP&91D!e$HdFqY= zt}@ce<5jD@V@=S8ixL-j4h0kBVq$I%jW3;TWRThQPZY508;P+LO%D+=ydt2!W(TROUKJQTxv zeZw0a*;S=f1Fa+@&!+yA2sF_YZ$zsK$}&_dvkgS3c4gM1Q~E+nd*!0%dQstv@hU)X zX>RQddh3uxX*}tyXgtoJH#T0yakRL*Dct>IaV439<6pWr%^d6F6=a9UxArfbK{nM< zC4oBG--^o*FdiV@^uFwT(DSjsIllbUhU-^V8vp6e`DCJCz3si|ekO27A}H_p)9w7D zT<$uz*b~A1tOEcVE*PSxXD2ke1~{$NBP{L=^XGx^Nd7AlwjohrqY6A6LOTmWRNfK~ z-6tBT^e>!JKJ`upCqF;dW!=at+$|exaQy_C8`PcF5^==ENtouj5RVb;)_Qs%77>%M zk%^OtxDjb#W1?Ji!9v6WZyNFnB@A)$E}tANNphipJgrRp+aT!bP81AKS3+($ki3SV z;ixLfXiZpCK*lGeE#O^#|2qLZ{WXgEsDPZeGL77{jSb9x_B1tsc1<3qR;}e!aK?|x z?5M32hFxmf41W!O>E7487w&gujD9x&=y1dH>J6Yx_U-b^4GQ%Ggmu}OWLA( z8elk{SM?@p8dFA*+m$|iJW-_&dZdVu4AW229g?&5XkM&O33ql$ z@?c3$9PLib%iWZp>x`(_+I@@qSr=+}P6O$wcSteouvI425fOd8b-mBN9BO$De=1II z1O>?3hNeEf&tV%1h7K(`fP(cHnES-YKRcF|rsw#zIPG?0+Pzj8*ydiZ)pIA#C*x*I zT6PH;GGS1%gIF;l*Wy)_8l`VV<`V!J78+vA9vo2f{j?RpcttgSHfvDQDSe;Soo{!K z5jB2t`XUp(hV8{Oq{j!&b$W1#oWCQXkUc?fDotR6fCmo~%@~WyJZ0k@8$pgHCw2_Q zG6k>$SUC$d-o_g$(Wlf8fG)3Yp=>%Xf;sJaytNpA$~$_yS&dIdKY^oY`)A^oEkLoj zRV_kBvKe)}V_*kaZGy3TAR#NaEJo8#mi=D#;5!CVLpoox!7A;KxJ3#T%Nj>7m4&Li zt0dfnq_OxH3t69EXb`+Ke5iH#4J{eHG5_`_B;QA`AYaTf-`Gv+v*mg2Hq~q>i;u>D zF2Gx5smQ+%G4JqDaU0%0>T@`#=>JF5%C&|}7cq_!ljAGS{jH`Yhix9EfTfXCnnogD zq>nZf0T3)9yKY$i*X>JTaz`c;6U7kq9(+>I%6SHXnCPT_hLEH_Sx)K~LQ=c;iQBM` z5R-CzG)|K^=D6IHZxS6s3XB<0t5%#A+24|tUwZXu0!Md*~Mny2ySIN1u z)2=jYn0eqUJDX}viQ(aE*Ag>M@MttQDM7Y^>DmVw}98CC-Ua%`HCJt^lKziGE|$92RvEDOGEz9 zl*xDtyk@d7b7);&VFbp>GTkMU3$r;YovE}%zy7#B++b?_V51(Tn^<2OT*fCAI++D2 zYT{~lw$_g>^6|*?75T?k<_@PXQ6FWSndiEx6Q-OCT~h;{#MKe8nUT9S82ZXgwh}9( z>!^pzOl~rtS^BGt*}$}csqn>oH@w%`BHNoCowls;$S`vi2!Zz_>Cn7Nr} zGQtUNdEYkSok${EHZh9ruJ`XslGYFNO5-As_UkrL5Pjs~F@x<<3QvV!XAJ5n!vjXR z|0YcHYs|o`i>h(1(hE6Ix>))>=kZ4$M+q3N8S2GA{fpY#PUalX$)DKg&E3|k3=Q-@ zSrXXuuO)yoznIo-Ew;ck8gav!&Y}dSKvRu+xtS^tOQs!CYwyie^Y8de+1;tczp3sB zn8N(B`8FaGpk-;!X~Vfh{(FROFxsSicrxF4E}kAvM(kVT>eIq66+ae3e|*8$ST9I|LUTGhrq8V>>YOJ3rSurRLNr zhLe+>@Lj1wW6N ziju*sTX5XGD<`gfwP0ZdHduuEW%N6`>=|sIyzKesF_=19By_Zvw_6%mKIq`k+cJo_ zST+s&Fmm;OC7w6%Nd0l(V|y?y>-^IRflcGp&Y_y3NMVFMJNGap_Yen97FwJHp4@aC zo>nMc4jMcK4l8gJ0=c`e3p4?hx_q&rT{JeCi2qT8DaCJ}^J^Z*p%jjtc$!-krB1b4DbBDU^ce%NjjJ>8tE ziJ}{W$CimdK;zD5UmRYKe;-S!m%9luqbI09WXml=Va)$duB<@7eFv510U3u3t|uTX z@>-#5%ydq8yp?-`kEe{B>Q$p9?B@ZWcPKf;182l=$x$#s!2a_RsTOL3z{LH@cgqpi z5>6snKHjCgQGvl8J@*IB=lB(U*W+mI^MuBqsiPeVMk!g(8p2kX<(as+z!xJ#L`h63 zL?Y|Ob$rxJKCt`}rvt~ycbr03OZ5xzXF6UX;35;5Yei9ET1D$sw{eHL1Q>y$WGEL|`-;H3R;*lIYSLzf}!k z8=VCMRsEp)@R@qAMrZ({)Kw~}?iPUi#~>ABzj@?4z3ioP2IDCezj*_fBH^(UnR!E& zBz>Vc>If%cm|p4$~ETPzjn@m2R!~cpNcz z_`8j;g-vjr9JCW3lP@aSR*I1>tz*-7;zE?P#yroo$FYzPYG=Bsy$cm3r1V85=v_PX z-{DJUc`+kT zx(?XYo+e@La)s#TkGe{`4QI>>2y9dFh>~YOp5@>f89Gk5@0pX(6Vg`SPt{s=5aN{s zojiKu3zFl)=3%dj?MHpFTfYbM0=Xb_<{-_H5bI_QJkN z%WTMm37jNnfG@?qD^O}2&9%<1f^@q<`s_BdZYZ}b8a~f6%fM{Eb~UE03>pO}(9cT_ zZ5ECnHo`yH;AB1b@Nm3RHTH8|Yyi91X`=L${IElX<+@=d%<_(^;tXCDsYv?EZSLvU zb;bibd75Qsok5*I;qQXH9sG_D4H4WM8s^NYqf7BkS{XsS0O5)3{nBXUm8h7iHhCsV3El3a7o zh07rFoBXwMtW^@Pn}az9(E<5&V6jWT%8DBO0`F``qV4h5Wi_5h zoZOSDi5uxYLhNraF;a*|1JmvbpCUZjA}v)TwUkSXrRruGrBrAgd+T>j@TXfTbnIA5-yHpgtOHNw}w^(*Q7%Lj}^JLX9zg z9xujjBim^EiQ>W}&_bZ_4Fx>L7-1{GW&K&t*hJC0F_$2c2q6@61@$61SDq2v`1@}? zJ$pELue*}fy)(nKik&uYcuTRcGF9?g*&;Hf8?7!TfBCA#ngpeQ{dhG?%GI)g#G|I; z2=`;xM^8@&@^hNsEN@<-eTXKRf*9?mfRO^)E42ef57Kuuxn1d+xkmWs z_9Xykx8q=87XG)VCK{F+ca*TWfe5p8+eV~qS#6H~uK6dvDSohln2h>%axj-pnGoB< zye1DJ?ap+%QxAnRdP&(|T>yGrNDle{?O4Cmn@()(-0DKeQ|TA$TLpPalV>(Zdjb6) zv?C?jyGJ>kkN#HaKhEDaKxZCnO(u(7UY}U{-QO5`LrI=KPcPmc-siMTRh-D>sVm&A zNZ6KXvc}mOT!FQAItzC+%NmpY1CnpM%LCct+{4eWn>WnZw!g zYx1DBX0nUL?b-KIM=>6!n;@s&Dw>>`+1p0-#)-v9r*tK zt*DWA;WzgYDtn_dr*$CZt7o@p?OkOhnj}az{CzouS9Rw6X+)$^_V#MelPj@f7CSqf zY$tf8!=enPXn-oqjz6XEp2f^b*Y#?s_(iHWFEvQ4J+}x(gD#Qy^E&JnKL#_ljaTTf z!L!2iM5w<4cL%JcMQywb=i$YUxl~y1R|7#R+u)C&?!cF9yLeoW9qpO#fjcCq?_ z5a(Tb(ity!nU1y6N`XsEo>Tp_b@1EedSf%JS^xdIqm@pxYn#KCZY1#|y#8l2ajs2c z7FFiDZY4pgio-qgd^`Nk$#HWI1e;#6BZau#wQJvN@yjI3?9|wsZa7p5Uc8oURy=0e z5TcOyXypW^t9~U8vfF^WUo!7wk%oo9O+5R~rulW*b#WRuC+O7;knb zpRZF7X~5PzA{N0rEi{RS;-iDPcl1EDKD#$VwxGTS5%0T;LC=EbdIDHNl6~l#~j(y-skX&rJ*_ z^##I-w4fZlMZKV_qleh}SEBL=u;{QAJ^D|EiU*CJLfRD#hlTPyFvHg@h(H9XeVa8#I8{;x{N8USr z>?xGM^*A^=T?eZ>`gZIgfjfFLKg?r%<8bL3bn4rpM0Er^NF(QUyHQb2)1I7c5^N7d z`Sg~f8cC|eJ8+b17|k7u-x^i~J+%d_XoILk3vRS~H$&nWyG~rzsr-13jgu68bm{$_ zLN=2IRbdbGv9eo}R`@+Rg{)})7(}m+^=eH5?NpH$B0Ckge^7{=I7`RmTPrK3%Tu&3 z5xx5+%YV=iooQLUALBarXHC~ETJddWc8^~Z?InG$b~b6h!C?o{Uid#34RUukwWIu& znnUVNR8EIchy=cQO#fBO5%B~y+>?)eDEEss@2%flO8tnR&+S`dMZe{oUrz7%Y)i(hT7hT3Kq!G;(i!9j#)z86v}x`^AOF?I61f^kjFYI$#_ z<2fdV-gy@Nh)UyQ`@Ppz%&fY6n`1sNX|E`8mQCZe)e?-Uy_{Yod!(1^jx`i(B8hY7 z>!oGbvQT9?`YE+kji-*L&lK?;(ml5+MGNj4ko=5_6XVqb(Bfmo` z@D035pg>PcS0sgpJxd84t))5$l>S#f3Ci}B{&=nB6VkiY_>%l`5ID3zf*|PsNL*zLr2{L>I878IdJP2{mF=pe8rGWimvWB80VnNTzWhYP?2Ff;4Oc&rQ*Glq<5&|Ei z1G_;e0=1U>w_hqHqmtxvupI?#o~MI@fJ(URWpQ@>_x~3v0^{)ig^D=dO8DDcY{}!o zn9NC8i}3@J5OW%mHySWBZ=1qEu{-Ah^a;AAt9*TYHMYVl_ob*vigfNcn`B9}?r`T; zo*QVQVoc)ur17GoJp+OQt!SJtI>vvH!PTM(bdj?=A~Y90`vcQ4k+wut5X>5DXATCb z01iNx;Oea4^Dxj#zM9GKp`5u(aL1Eybbve{%B37~~u#!68ZWs2I%YGJhW^ z`hX;^TI(U!s9Y=w@^Tj%D*qUPJwfB(y&Aw<_yspr8#`Rx@OZ|M7==Lmo3 z`@~u05q37)@ZgN2Wv3f;#imEP|AQjfa3OmBfFH)zzl9gF)Aoyzu0K8Ztf8metDakPVQSQ(j*yWtfNJ+jLV~n;hVZFX5J3Aj4CPuRkA^y z{S|@wBfG_p)*XmSevWJ2__8s30g@}vnXjtyw^F~~QmwxDHa!kr$+W_b&JU>Tqu2UT zk>JYgmeT*bpRLya<7Z#zzb{D5Pz70Obte5D_q?-qWbx$=q-o=n!n}2H@K4?!j&YvS zsR|NI`8{fciLCItcpC5p@6Ax5(@tMkD^MbqRGWw*<+qf*cX&Pflk3~ZfmY$IK5A?7 zRoyU(=AWuh{K8WfqisZa)-$e5 zN_o{OuYLKOHI=Haa`840xKH0N)6UF;7U)adj@$K0ll8dfU3i-^xp#d^E#O}R9@a ztvWgl(^=;lX^q0X+aSYle-S?TsE*HhXlis08)|dJij6&koin8!3w3^LohfVD5KFu{ z@uVm}Oi+Z6KHB3l5SZH;QENVizoIG5L{RQ_r^@TaQQy_& zX0YnO+w%cMDIYJde+$ky(2R3cA_&fOw_=6^KPbjx6Vhe z*_H>!jN)5`d8d8MbcevoNQ_>of1IQ1kCLNWy-Bo`rUl5wf*E;9*Ul>oI;6K>9 zeIWEvgp!N1;^Qybs@yUz2RnvJJ3r_9Jnc`crjRhG z8bf8~;3=JamGPwG`R$Z#29=qD=U`qt)`f@YPOyQDv=`T|;7NDJzi+wPxwTW5X(@5t zmv4LQqu`$>cX_kdCIXK+^BSBXTbWGvs2QuOE0~SW4JG&Fg}a z!l24$ce?&y!up>Pn2Yz3L7X(j$K`C##pi@tvm~faYV3uFKf!eJ<@)6lG2$VYZ+Shv zg)ceD^}1rl)s4nF-^LGGRQPPGBv2f(rYRAZ>d(U=1KV7lqiiAggOr<5T5>|0+|}XT zRXpwQ?|M!f-bUz+j{C2CES%1yW8FSZ)v@M%j{l{7n_2V8n>Mgrueg|NHus`bh~Gpi zo9*|%QDhU6OXrBc5SOCbeLCQwb>I)lRh#f?Hjf#kvs2|uYwx+dxw7iPWiTd~7ISB|& z4NZ-zyhtDPSJalgV3?E|%ZF)?QF|P`x){UP;Z)6FM3>NPANir1>JG|L(1~e9HUKP3 zi^SUs0tz;?Gh%akC$oNT?&EwOzNyM1lRa17;LhWc8reUdrZX(KZhr`Ah*oJbQRxK^ zrw8Up^6h*Dt++raTlL0&czEFPlQ@%!X7Nuf0m2(D8}P@ZG?zbd3>q%+^IzXujD=BW zPRlkaem*`*i38ubpMClp|Gs#R;I%d&n*WiuhF@a64KlWa&GUGOLL*1UlErT#ChZT0 zhf%2EZ}yJ90ODvysRli3Z*r(9dJe1O`KBMY(UkD)1$io5{E%+WmarsYE#k=S%gr5 z(<6gG(=UQ|6J&B;BF`R!5i~Q~m@-dJx<2IsNlCnT8uEfzV_cZh;8{UFXdz4ZiRfI` zSVvMylq4|Fl(9mZi!0&`a-t?dOAF~2q$UMaXcTAsL*JkQ(Cz@~8(ORvfEiJJW{(oy zQPUzP!v~t7#FMzr--wl z>!afrem>qlkMxX@F!kLZ{2?H*1pB*&AC)euuT-TgCP}r`ZslcepPwz+CIWpo-^)TA4xv0gGXTvk#a*5p3yPvS-vd&+`-4# z)+=zLxp7)9A$xst$;)73rt)&=X79K<_A>FKk3UW-=hNQA4i8>nrrV81J-uwPE6*Yh zHFkjwGb_r-7jaJj9e+-6Y#-+pWJ70b4L;?TH>wdqHjmiFD#D+Ngo{v2326 zXLPX#B1`VeS{(-GJ*Xu=w|AG=dOlxf2^k13+m)wKHX3`~9n{6NftehzH1FOz(fBh? zdHw8qoqbiLIsp>*T7{Z_XO|hZ*f`+k)axCL{`J+$j=~M+!txpPzVr`&8yd_*DgFjOQubxT~8>%YS$AmHp2C4=tJ;&kHHhf(Vs6 ztnzutaFSE8k-9I&A=4a;ZXS3~J%4(Xd^)ikcDg8&a}M!UJK$>^j78K;r*#Jbo=g#I+lKn`!x9KdJ*|EVd-mC>w{!{D0nmQ6H?M9QR#paG@40*AtW>eGk&a`eT1z(CWul2!u8%3c$O<>=INUR^ z=Ot#!O<&nd+GSx6M9LAcAFF*G%-M>C@wHtVrusfbt?|sJlu;Cyz*9V^NO73^cydTy zp&DajDVts=%Ep(oWRB`hSIxnQi`LG>^qHr8O3_OR$pq~QS1(y%e=P>2l`QtIaENV# z)_kEb#vpq;uzlWKX-XPDdmL*RAFlUYE|NsoDDJvzt@gd5Nq;T75};5F)MJ9T8{(H< zN?fkeI{{GFrwuVHq^Y z;Dw|cY#L`K96~oD9qKu>0J>Mp=>`V8K^YJ6iD4DiEwzzu1P7HE2UTgSa(3HHbQfK> z*01NLKR{y3EgG9Tg=8%j|0a5$F894oYw=32VRSUz0-cT!QSQ5yuFbXXAt)(|7hhP# zu+yI(|1A=xqpfL=d?}ro?`n}cgqhFF$^8ePfs5EVL{NFlhQvHPr1g?P%@;&S<4Xe| zgF>1Nv=|mqCVS3qV_8^QA)|~Zx*64&auK(T)RNM#m%TnUCX9aOV6oaNL9i&Jn4Y{; zWYQYSc_w)SC0dS_g=QjG>~gojGYhxO_`c!MkLF5i|Y7pE2$ev?6gt(as6eyrHgdc!u^-_B7E+ zyTndN^?2xz-n>@Ig1XtKU?LxVFBU5CsA^liWwVJ7p1362C85y)dL*eaJ-`ppJ-C9u zPT)E%&}TG@>V-b*rcGq?o+}BYPB3RRN|3FYAxOE}Fk%d4`zp!D*bK$SsA^<`Iizbn zC89ADjK(=|ZQtHSuVr*qpYP&HWh$P2wsH!Hz%Z+NL_jEy6w#Cfbn1dTzu{Gci}Owb z5~xfv7(+~8m&l}3Zvf2A4N?uj5pL?^l2cCplw1voO2E8QxuXv?({YKe2*kXSLcgNC z?m|K|n}*QSHlSZ@o`~Tzx$_7(npH72JoA#IsTQNrnVm{i`n)LbB8#sp=pCM$8G5{j3Hc`LFFTw+wI1do?( zB!vmiAHb^P={~N30q~?!GzxKi;rDLk*;aJq5o2$HXr3kXaj^8i)4X`D%UoF=%JyN?k!~x3 z0hb`wB?B6MCA#Gfww-2Ok%T%xJNe6`(cO(IKYIVWuZF;z_gjO{(*R8N*MAQQPAW7mHo(?Af99?bppXJ>eLrn*Asl(jcBz{I0WL+r9) zoQD0dp59q0huZ~fLxbyU`L%lfSL6I7OgaPXNZe7I90o^nwF5;Iy63I%dc!1Rd+X!* z%}DvS`rCB}N1{4S+*Dnj*abVTympXvqe4hLhrs@0nZr@lm{frc zhkGznjFLP{K}K80uQneq+VkvleT=kvUfi+c&mqHO`pHg!u>9VE8Jd)u`$nI|zT~TJ;CG(zX!jq7VD;uqv3HBb!wBM4Cae2gx`BEb*NpatUU=of@j1_U(d$4GlTyK|2 zlyOpxGEB@NKW(<5L^|k3ZA!kvEL0)~A4@a#xT1k?KA{$!J5(;7=)xq-Cgc75m-;A1 zef}a7I4fl&p4CCysK~8@I0QE(S|kB!54c<5#t*bbUw%j1blUP}X7Xqcd1ak`OKzxNeCGP{FSd$=`a2|hFeYO(JqZ+nZxc=sdhG~fCATJ{J3El8>r6QdJ zfB~=9s!zaXr1gGyABThNb{i{uqRxR(SnCt6UnQF$yHusd==UI-vsfbi1^kEJC9bfUq zIR^b6i>l&!I9;biy8~rYAa3ZQ7l~$bNNegl;I8%GG7sBAxvn7C#PpHBYcz9*2cJigCJX`4jB4OZ5}}Dga+y zo7vYXjxG$PMx`Fi+$7_1K;_aLTG$wG)p3p=2a+>K-=aLt=TORxm!dCg6M0MigN_9U zQB@r}$!8tm)yMqDvTj3gyr$4zXwVXvdV+utL%~IY4MUk7MJfOB1Zu)JcSz1?-&g(A zB-JDmgtB|%@sR0F$- z(+LewKxVCn?s5GD*lfe-jekO`(k6ml_+}7%Ob*?1OD4Oq+16e@JA|8QBq(NOm`ki~ zjizMEkgtwaB8djBx`SF|Pc7VH_mx;@!H84YzsHpZe6tNT+F=b`sHH3TkVnV4%n2|S zuERM&UB#4nKDCM~K~N+DYd3Kxh(wan%f(VlnaScjom#6I90Cbxp`Iw%jsvkgNBXM@ z%MtbHSMSiCV7rl0t}aCkc7~W>ds_g^uPTfHH#V3C8u83v?iq|Eo^BH#u`> zak{t%TN|X6N@k7jdCu4LE`UE$Gw zC(?oC*q}a`L~}-L9vGT9|4yu>yckX#h#n`7_CZ}%WB64i{@;$^SCyRsSVOs3uC5%| zX(S58cSKOx7-9nr2E?-KUn?2iHaI2ft)p6rIj+6Dbx}4&<%-op&`0K5wHJtQ=+I6l z`xi7$i!+aNlTr^i@CfaHCWO~@QVxDrgmA|Edz=I7Q6T*me+!B385rW2saOxuC`e0-x73D3z};sWupqTdU1_XjMedtN;5` zJjxj|6|^j$23>bjgi>w3gDmh%5$v%~Y=f<+QZPXsRsWzS$ zAdOD9Og-&T%?qP6W%_|ibDkZVa@^886Cs<_lV)fdPGZbj-Q9vB;jFG&EJ8hhN7s$y zpSq4VRdQ2H9ww#6Cydhvt%u8EQOP=*TS*gj`j8XpV4&_HI5|+a6-Sw{{fhpa$ou_A zGDB1itjtP;jQMvSOTI|5!bAy8<-i*kNHjt|C9p%#`+{Cop#Va@^PYt1E(ltxMrax7 zg#lPvDl&uGf?4RDigHcmkuYN^Dx7e#!aI!G0#Ua@>r_EEGU=fz7cjJ;DjftWpspvT zyNtA}cW|@2U6TI3{z%@Unc~P_F+TG`)YJMpO(9tC1|jVe4nezyDXlH9w-v&KQ$^5m zWZ*s5&&TgI=??q&pSENa)_GX{iyim)Ac~0|?i`Q@Hwo^-Tvxlqx5qB5X|Z4iMD&AA zNxD_JP-Tx8v{034p*=Ipneie4{VtLXgoK(uFF6eo3O_r~Yp_b=^R%!;A-l|^PUbnc z=B~akxh*%MACE+qA(HPT_ki27$tq&>fvd^M{#q{W9r>7?gVtZ@3`n*IM=|BG{U#HF zoTdn*eSW1fs`blxl+g-QR+}TBOAmbC5H&R@sn-;<^q;iZl z6fCwaYq+jJUV$1Rt3ei>k4TP|j3`cCf%j9Bd`zoGb)ms`Tp9Mac1GmZVQq&DH}2D( znLE(gN?I;iwp})Vch!3Gt-(#HkMFLSEOH>CPJm8cl#03gCGFMHGEdsPRuD*uzorXJ z&E@lFD|of!N;*8{j+=8YwXAMqeq70Ce*6!?es3a@fRr`G?Ugy_>}bx17RqmhdR>1V z@zL%iL1QT-s6~#j4`qw`zxe3dHA7b7xr@2<(?AmS4&|qOjeskQge&$m z41R7ZnQey(d4O4Pe{m-bf@rN=9a>O;!y2?$OI5!^!CUb07m(*B!`f_v33TvkZ;2~A6_46J@&xPwZtcP@n|?rtrma? zA;d)Kg|(E)WFP087ex+>VbVsMYj4n9!1pko)8?Vb?Ew=Tr@K;>Q|wZ+eFNruv!t4ECt78N-P+ z20z$DnJ+!zjixUI;){{?N&5_{EusP3Y4-Rt!PSgFr9_u+yUJ9(wG_oMH3Rj8aF!C1 z7RK!djZDWbU5K$?V3KlJVRk8Egde36qmy;L_skDALlpf`Y2;nvX*F3AkfIoqa|GLu zK+)>IZWg8mPK~~ov~uOYGGat-ecpY9)1)l3PS{sE_WwTg<<4Oi_Ddv=sq~S>;;PY) zoQ`s~;@n|>@SK7kLk%PR_;u3yAD=}PVs79H4XEc}iL(Pji#Vhm8{3+G^t3c4r77~J zQbaLTSwocQRtTQvL0DnZD7K3_qO(r@iWV0-W&WD$)+mQl*}qttMP04&>6^E2#OqC# zdcmmbKH{t6N?RVN6688GPXpgC>4o0vu^JAIlG++2awOfP0RkD(+!F9@4o=Lpc1sk~ zRLpetNLscUj(D2GEK{h#q8`O~s3N>Sm^s0s@JnFQ{VAYDMUGNq<-2%75q*H9y z2v{bIEYFPqy#i~M@)5kT+;-Z6Zb1GtxbTJJo7lsBRBPV+*Z^;kx#`7`hQnZyTiUAu zmU3~-i%h4L_OHJ8uj^Xc#mnRn2#ZI8pr;`W&xi_ zr9#}M_p-Le&Yb!RVIFO@cu)y5u?U5g$)xZ*8XL@f3=rms+1c0#KVk7RkVTx$=4PIB zGrG}yVwdt{iu>h#BHMfg#pCHBQ(nya{+_qfM=K?2>H5V`4UoyO03-W5HxWb04GBt? zm1A%!j0<$krV7}feM?g9VBU@YFPQyNwLb=~K>J@9cz=|Q!@PlD;L+(a=ISNnq_h0b zVw$0abnMbWKwVy>_p&{?_i3G&EalN2Y};>XLyQMAPbUp;Dd%J&?ovAI`en@&9o+ao zczf&Us+wn86asN~cOdTW32}EJ?(Xg(?gqqNh`W1;hq$}DLfqx;y^-I&_nhy%@!dDZ z`y*p)Le}oJx@J|)n$@d2GiyIGyMg6Z2$S^h*)~>Qp`d)5g%|G$pZnro3Te)y^=P$QI*T{@# zQeplPtUhw_PM!jDmE1*VFYYxt)(f2Eaq@SU*!)xWzb0ch_y1)wDixcfqEQCkrfRJ= zp{gZ~BB|^+1jOCK=^61V;+0uv*Vn~YGTMC8H{vbQ%c+02JkYXHGlWBps%7l&S*|;_ z$?Z#E0(HTzh^GK|F*C!sSNRgw9dEi~T;p>9K^OLC@R3B)e|jE2rmL3_CPS#~20;LH z_vkGN+gQ=~GvQRMMSx~(KYpExtzTnigK9u}7uXip5~T~H@s!7#&UlC0H@s>xDtx-Q zJF1s-XZX0B{I`eA^6RAt$sZ6*u&SmN?=4mthODJFZiM5PdrYuXb@O$$ze*>|8C-qy zGqr^61QZCQmFEqmwJu*7kn2z*6_IG74@~sle_H5JRIu~NWC`|}Q_NUY^^TPxkLs79 zT;#wx8Lb;<<9V2gx*W`Awpc$s-+z^EBg2N-r0}FyB`%mglY z5=Y7v`JQo{HD6OGXRFems~SpxE%LS@8iDDHmwFfrjT>6Zv&$9tBEsTiFkpSHTWAT- zuKS#AnexneT&bIO`R8F_LpFE0V~b?4cu}EWlh)1lkZ%z6_!^tAFyU8 z#?sUpO}(0(1DGFf6gerAD%j~6^@iWSD?$ISG{^E6>6Fk3wKQFb3aqHWHiS(PrRv3w z7?*B4-6LHq$fviRvLFU$H-C+SSBugs57{L@*|An|{K9tXPG#DXW$w7%bx9SR;IVQM zt&;nJJgv6FdE=Wd*D%&nxe*6ON{4jDcP;bb^fZQy|FV|l{VBuvZk@WGw zgIdwrmkjn(cQ8>FEH9?(D`@+d`P7TVmWFYSP*{)x%v0 zjj5!Wmt_|Ai46o2AYgIwutiGbKc7_clGQY6J$ypbIN|m~(L(fN$NsXpQ{T>2gC!j; zy>5@1VNGRP(l5a-2uX(5vb_a2(vdy{8yUA6nrM@uga%j!t7V=wGdx@tPicU=a(F{| zwWf8}A+8vc2K|q6 z=yC?FKY~eOIH7(77roA5&V%;5&!W}4Yai@tm<#&d2D9g8s%@( zDO{gA5w3L;UjPno%FOx@ncQjYt*UPRH9??o59bqho-Tt(Cw8WDC0K1Z28f@a^eB%B z0kcW%;0wQnX<#;aRoe`s@NwZS)ITK?K>Qp4U%5TAi*0_+fuX`KbVlt5Y!7p}E_X9K z=vOsU3my<()qT|~7e6M30&AA3V>+8N|aBfsv+j0hLi-81{- zn4RC4Pw3*%pq42_sX`tbh9QxwZ}bqc!UHZOh#QDf2xs^8>(<>y2lt1FRv{R3OftD< zQ{ROim?>I$O>k*u<{WvsW;i0csVJxF8`YwvdJ^5WUlZ#COq-kwek;l9e~D0@uAA$R zlJ9LTn7>jc@;_w?arPW~LUn)RhC6Y4s9CBxqipAEzdkG6aDe(ZEE%Tnb|XJ>IF~+7 zrH~m!Cs42+9(Rfv<@%Oy>ZAvn#S?o&LNboU({j`lGp=W@k$s9*CewKwfC}^it?UMv zWFRZZbjIe_F2G-8+Q4ObqBHamQ5jtFp*ZAbfOp`FkePX8pP??++cTp?Yi6>KSsF(x zw~NG%DAZD-HmV)kO>m#C%QT?bD=joqTEMO-s0jx$H*p0sNE0cH|AE_ycVgEzGg(uz zDKF9OWFPP{Rl@&3@2-5+=_Q$*cao^5mc|x1>Qv$`AVL7;iiQt|i z$GAaH4IfJxVw#NjQwrTRUwADI!q-K;+p0t)S{m%xr1ICugh`sS%rIzX|v2H0IUP{`V)%kNvE-YEX^lB`tW8-3A zjbzW@k@3PAV@ux4{%G#_YI}NEAE3dG&SY?UovB4UL(Sl#U z1afA3i*J5Qzc@2-y=||dFVhZytqHD0ByG_D0P>&?Y-h!aWm1IuIkWbpf0)CYF zb+ARLleFZbe}zKiH1D^y2sZ#X2e9}&_K4=a(o!Q^kyjY0 z3?M=kysu1aZ~>9;$lqWiKFL1CA-d#KW-txQc!o4)kkg;GSK&UEKx@%pJBAzh2{~BL zEJR750WF`5{r|H?*BN`ImZ+Aqu*kiKk&;rfZ>Fbc!=S3wcg}%DNz5q}kk3^?Lr{n5 z{Gy+7+Uy2Z->@A3bqKL-uaq5@%eaQd;93L(HM@aQmxzrt%E;WKn-T=CN1$XW*fumo z7Iz297c#7Xv)ADbS`)(2((m2;;G)g~wszq81zY0CLJ(|9eXH$lqIgeULC)4eX)Y4k zT7@@klkHWCuPrdLH#pm$Lu3+1HL$iYX{@DT_`2Y{UNJ+iuf*YDg>F%Vfcz6rGZB=v_gs0)d#CwOgzFb41CAiPp0(k4%+kFi z>A^6o9wC2Cponhj*w$roJ;z;lzJfg)Ebbo_^d+$o3ZPBkap_z&6E23*s_$2bC9rI{ z)L`ft))&FdDu%gwWEKIqhW7FCXJ>+3zx#eXe)pdjtsC6t*U6}J zq4dCDDQEx-T0d9BppeRZngt5Ty{Sxg+2Pc=fZe$(pf=yb)D&xHYDIz_o1>VjMzBLW z0skgbtCIY2vdn4%S*y%u#FWo6Wfi|YGU^%jUTb5#JT~Rp7fyf5U1z2FmcxT$s|NYG z#^x0#!QB#iq~e>JO0A29Ih#1+E*XN&%OcV;c?YbxM3G!T!jF^LBy-TVXne!`3SQb~ z3e9|1(~JT&%avXh!$5Ne22`W}b4ggK$hH0`Qk9Zm9{pheqIt;WhxSRsYP|PF-;dn4 zipQ-^*F7vU>M(M5YQ7VquwQspGA}|m!l<)=h2@0F3xRzLpd@fAy3fTuNs)?T{K{Y_ zG0k{9UN|bL*BJ{ zV-};Qj(mFIQ;JS?QG-sLwMSy47lebSr6godA6wbNl#PIfXK`f7xpnT)e>*_(zxW72ffTsGIS?62p^%!4? z@hr4?0ru#sWmwb03euYkLiOv=4-SD3n`P0vFpU{G1rY^mFGt0p+d9ltI%G57R0`v& zD-{Q97`?mY{H%(SqlwF7o#3Q(pKJ8g$3J5;vshi5!|@dvi7RGI;ODIqi9mjbpYl#= z2=t{49QLrPd_|lCwQo5(nHZIBq_8g}a#i+64^(1zCmY)HV$8_TuMaYfwDn%(6f;L< z!s=xCXF2g8~ zOJ96@`qSbP|LJVII0geA2KQqV-ugkrTl9_tDdXzAO3uv$&+3KGR3%qiubS#9CyHCU z%$VR%)gr4*lgPhj4w3=hCB!$R)niMk5DAXrZD9?M;cAXKLfvO@ngLf&cJCIvUy&a}A@WNp~ zL8O&NI%#oo+sun9fL65lJ0V5in9HaKu+9jdXvTlzf{*ZV6Rxti?d`mtm$hr0Y*hg6 zN2;}>q>YhJjjx7KaKne2ZuPgz)^r!J@RrbN%v_)#>$;$lS<@~TtY@0%+dh$5>c|r{ z;e}IJv&q}cCrw--b<}NSE`PwAdTPjd?8)+{=@pPJ?yMNXMBD?D(LliDggP`I*zpPJ zQOSn0&jK7l%||pM4(B~aYtKhs$BEwzmxer~D-PWrW{r7tRUrxHhGxXaUFW`;WNofC7cO4L-(Y;Qulw&l=E zQ7VFE5{9S3l1Q;3QPIcjcz1h{mX~GTx@RFjq&j*S{E*Gz{4STp?12kaDfgrFi~Y`b zA063kcw}2!!KLZZv7NkH8rMWrEl3>((v;>x6tf2c$kWF{*vw`3*t3Xa8pN3jC*=^# z7**nNP!4;TgC_QCtmw21?Z0M-bIyU8)VV5CHhdO3F}n@G|DKMFvE$D*4B?V+eVMLM zmw>1B$gAD;Mj>m4z)Da(xn9E{F-YrDfr5-)y@xW!i{krS#IHRrBkl_VJPL%A%{0bU z^N!`FQ&Qi(mzhrCuW1z-7c1Li!!Z?&x6)|b@K}sjWwGNcDRbcSeb4Lby87^S`Eh#v zimu~{?ihkTcGdv*!=5W{Qh}H))en;s{4cm|9Z&zwB8UHVrxB8Fx)i?n=`rW%H+Et5%7|;aaR}jwQ#TJ>5kvy^o5~sE~A-M6rL__@0(Oc+WxTg!%n9z2VxPC5Z;km%&K=Xf%snDhM+A z80?`4&wk>)Rfb|6&<}d775)`EY}lI>6n}g9EzZ1610X` zR3Vlz6ak}RfGrUU-dj013E*ApAKtTPS^%49r7legQx3EkC}J_6p%wB3GlDd&@)Isk zppTHEU?GsU5A4(q=(GBv@phT85IJ{dCB#lA5E#)hrp7fh<3Hv=X`cIp3Kzm=bdn*}6j64p zP$y>cLtPmY&mAIpMM0&DK(Y7ej#k0e(Fml9RUxbBW2pTHmPgqd&c3W}2$1Zs)%+>B zA-u=07q;LK7Pb%(7T%PcqNj77!YHHpP}X7Fw)B3Bnq3o03|c6^e#JV22#_v;RC-AE zEZ{a&OASwjo`VLed^1UhmqGHk>t3>2R&XvZ#(sA>NqD*T#nib}|<>C=J z(uyg3z-wA<$_IkW!5j3p$AZ{}X=@ATuVid!KMULYOtvJP6Rl}5-tECuRq-dgm z_f&mggw7qQRnQZ=EO6vDL(k~^!#R1^@g|9x(Tq9FdSY&JPA%oBI1YJf=_o$!4O?tm zknk-}?jm%Bal~|vxKpvT?%5S$}T9s2(`Li)p z#i}ibj@SG{rKhH4#Qq8H!I6D{XPZ_*wIa|GXFoxf;N<#{hR^a+t?soQ36-8LO7%B! z$B-YT2(o*xqLN=MhpJNK$NDV2v)mcQ6HTWXqil{zmIq#L8l!x|>`ctkWw-U)9`=9j zAqKPu$L2k|y~KWtfucko0n(Q%wYgUt8YVpT@E%QQelN`HFr7d4kIB8|p1E=U2sP#s ztPz<8rdN~D$r0uT_({z%{p{NWH~Ws4QPKYJa~c940Rf^78ux?KPqi#|F(O4xl>BZr zptDizfYAK~t5}xJiPH-UTiS(7S0*@Pp0rvt2hQuN!1OK!{}`^7oOd)MoefnaHuiv$ zHO)OM_CqrpEWRZn6bqpiz8Joti_T#yY22(8{6;5Do%W~m7$OdcfNv)Mus@NM-I%~g3^?8`&7S&lcb8{zpx@E{ z;Z=}BN|l2_Ha!wyHXKpWeX+;B%z~Da$Z%7O4sgkc1TDVfhff?memt!F6u{g5+6#gj zyqx7n`?7?&Iz)C>esN^41?ZA)Y&_h|hmOjZMdkix);gbA{-w`vKDj3I7C{M1&pI8P z8QIM>ow_|;w9vwszbGVSg>~wFRZMy{Lm3&|Jg+X+@NtrE?f1RRR`I3aO~_+ zanvsh)Ne3>lNhk&$He{#_GwLwmOR05?g1n5hVe9Qr`rV#hL=(JY_8`frsEbV!JWD4 zRN-#_C&1bEaWpEy?*T8FSv{@qFIJKNAPCcMyQ{i2xNVq=__;3nX7Vh+Fj=eMS{djt zpL9Tz;I4Dv^*i#t<)Fxxbv@vA9ID*wh|$mnf+-011r zJ{(J$+W>3%9#^`a%a4^5M*LCTm%Xf>{c;Uka$Frgcuogfl?9T-QSQCQ4!i8Vuw@%4 zxMe71J<4GlvRFZ?M;+tJH(|1tJCDvavGA?!Y6AhY9IU9?)e%;Etxd>ManN*KwFxqQ zHLfcmVDyuyP`>V+Og#DjW!mg_^IcT28BV&eT(_mwB2=)(OsCUmTYm3GR7GBQ?G*=l zfyHcPAkU##%C7jW=qw2LDcz;O;4eCB>lpdVW$YXy|D+ATM?Utbvi(D`^~G63_!dgp zHDzaFt{kC@!r2p|;x)6Q_s&5_5x=gBO^XEvTeVOo_9~_)K<0qk)YYTRZ(1c_ntMfT z%2sPG9m0D%kCwwWFZVWEw$*q=4;bS6gFeAK{eo^)mV!`*GZ>W}gedD2A>O>4`LsGx zt2$WA0Ii|Pmk{1d90EhoB_lCucE2xS`g@6UFW?gF>soU!JaKZ`YOYkPhhK;-`oaEk z>Wu-eyNk&*g$+UbJiaWpcZ`UC^tL+cPo0HWVe@u}6 z*8~#)6NrsAtgarn#Y~wk7GO7{!R*Udw@THfV??u1D|Z^e-wuV+4hIuRFxUUF>l#-nR7Eyhm0#oGmsF*Y`m20qw$_ zQkVOQ2fC55M?%w?l@b`vJfJ{SgbR0me(zTpKC=As2UX6jfBzgt}o|G+m#++@OT?D3P&s$c_ zw->d7b}3#)7TNr2b#<^kHb5dc%vcRf+F3W!Y7aZS4gv&*>_TzeAqJLbM4MQ2XGFA> z-~9uqloKtPk8LIHc5f%oo5*JhPU)vy=fJg1=jm&t4ybLM$yxxBl&K20n@2S0k>lLg|Ebv7U_$&RLihjLWv2MrUTYlGp}`louK z^?%gZQTu(0$7(bgdFhcJZ>WGu(R}d?ELv zKWn4EKPxD~*L=sutNBidS0k>zOU1LcgBt?{aj3lS7V}#ohhe@Vha83_rsGF#O2)dfU?C zuf`O@^T~R`v9u3pyVCmS)0h%p)otj16Q7Noja7G)o+=;P6K*lfen<-ClpQLNxLGo3CMtS0MJ)zRK^)pbC-_>_hice{fp1@+%QjGP%NV0h{fZm9gNg%+ zbNi@dFy~cdY)eA;$vJ9aaaDn-B^gB?7)(2R(bs#?uajWUh`NZ2wgm7DK0{*nxyC}; zg-R2=VZOnt%)^(#edhLY*T(F@VIc^@L2TBwE;zn;F!MY5ecgF8SREycFEmq11&U>#-_yX<6Bwy91< zshhjpq_MYcFLUBEO*M*4iIz8y6Hrt2Izj&ni1?6loP)Z$KC%dJ)cp72R(N z4#nMdNqe{6DSO{T5RpM(P6#JDtXmd$w$laRJ98E!INGNQ0KDUrnpLSzjA|Kt_I3^d zd>hQVxmXU%ux*cRV7Qh1Ptn<>_&;lqqCs2q@NC_j#(uUac`skBHHY&Rm^RUfHGmPT zP6WDM1o?mRYBTkJ@apzq(O+I2-DF=)5RA8n1ib`MKP-=p2J|rU@cudj$VSPN57^zkFmc z8HTy)6F)0SB(hJ|0da}oD%paLHcqbZ32muc_As?GrD51jKXUw(6 zI<-v*YI1U-L@Me*IM{;ccfy&~l-UpU-|Z#F0?s=IWl-GeYHmGeW6bzo;GHDTe*r>5 z&n)$;-ET(QNA;J{x;}QqZXVmpZdm;~ZztI2=49}Sb7wwVb2)DD*;Q=jTk+XzZ6nMo zCXlp&SOu)53{Cn+*niQIdF(%=nv`o3G3qFSk*m7cp7MF_X?5@+d~kvSrV`A^Az~)Q z(Kd1esW*I(4~XqbvM%&8Mop9g;0Zzv7c9u|Ut7@L%3_1C!3jUd14l?pjSP?JOwmw5 zT!>9uA~9z%9k%D-r584DQsf4Lx)T$K=&&G8bN{Z0S)%_yU49sFFXjYS>a|4fwXa

    Fb;va~8rJSvr;j&=h3c{d)t@__IPDBDj8K8wi~I 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

    0<{8#8&MW8ew|3ao|!Ti5w#_*|k#v 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

    CK^{#AH8ek=A1KuBLufBNxsQToej) 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

    |0orMNr41Ob_Rf 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

    D{Fuo@ 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 >3`EQI=)%$_# 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

    fNENy2ARR2gG$Q{I&MzY`E`<6ovm52WfbC9 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 uMb27FIqo{af4Y#L_VMWkMx|fInbo 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

    8%jtZE)1mMQrDTsOr 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�~;j)GZrnn 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

    jks|lD(lUxd?Qa));Z5XWumTnkF0*TfFixp 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
    ?dR|N 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
    KN(nMcLcV|7RfiWcne-c>9m6 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ⅆ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